Selenium IDE:查找特定文本并按下按钮

Selenium IDE: Find specific text and press button

我有一个 ul 中的 li 列表,其中 li 看起来像:

<li class="list-group-item operator">
            <div class="pull-right">
                <a href="/index.php?page=excursion_transport&amp;sub_page=operators&amp;mode=edit&amp;id=10" class="tooltip-hook" title="" data-original-title="Rediger operatøren">
                    <span class="fa fa-pencil fa-fw"></span>
                </a>
                <span class="text-muted tooltip-hook" title="" data-original-title="Operatøren kan ikke slettes da den har transportmidler.">
                    <span class="fa fa-trash fa-fw"></span>
                </span>
            </div>
            <a href="/index.php?page=excursion_transport&amp;sub_page=operators&amp;mode=edit&amp;id=10">Ice Cap Tours</a>
        </li>

如何使用 Selenium IDE 找到文本 "Ice Cap Tours" 并同时按下 "span class='fa-pencil'" 中的铅笔?

使用clickclickAndWait命令,在Target中你可以将xpath写成//a[text()='Ice Cap Tours']//preceding-sibling::div/a[@class='fa-pencil']

如果您想与他们互动,您需要以下定位器

//a[contains(text(),'Ice Cap Tours')]//..

//span[contains(@class, 'fa-pencil')]

第一个将只查找包含您之后的文本的范围,然后“//..”导航到父元素(a 标签)以单击 link

第二个将查找 class 包含 "fa-pencil" 的范围,您可能在使用其他建议的定位器时遇到了麻烦,因为它们一直在寻找 class,而不仅仅是包含那个

的 class

你可以试试下面的 xpath :

//a[normalize-space()='Ice Cap Tours']/preceding-sibling::div/a/span[contains(@class,'fa-pencil')]

解释如下:

//a[normalize-space()='Ice Cap Tours']

这将找到包含文本 Ice Cap Tours

的锚标签
/preceding-sibling::div

用于定位a标签的前一个兄弟节点。在您的情况下,diva 标记

的前一个兄弟
div/a/span[contains(@class,'fa-pencil')]

将找到您的 span,其名称为 class pencil