【发布时间】:2017-07-18 12:56:45
【问题描述】:
HTML 代码:
<div id="routingPanel" class="">
<div id="routingPanelRight">
<ul id="routingList" class="ui-sortable">
<li class="ui-menu-item ui-draggable" style="display: list-item;" role="presentation" data-type="srl" data-id="15">
<a class="ui-corner-all" tabindex="-1">AS-HTTS-US-LAN-SW</a>
<span class="fa fa-trash"/>
<span class="type">[srl]</span>
</li>
<li class="ui-menu-item ui-draggable" style="display: list-item;" role="presentation" data-type="queue" data-id="119">
<a class="ui-corner-all" tabindex="-1">AS-EMEA-NORTH</a>
<span class="fa fa-trash"/>
<span class="type">[queue]</span>
</li></ul></div></div>
我需要单击一个具有跨度类“fa fa-trash”但它位于 li 类中的按钮。我在页面上的按钮列表中列出了 li 类的变化。
我正在从 excel 文件中提供测试数据,所以我不能使用直接值。
我尝试使用这个 xpath
.//*[@id='routingList']/li[5]/span[1] //testdata1
.//*[@id='routingList']/li[2]/span[1] //testdata2
其中 li 值每次从 excel 文件中更改。
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.visibilityOfElementLocated((By.xpath("//ul[@id='routingList']/li/span[1]")))).click();
List<WebElement> options = driver.findElements(By.xpath("//ul[@id='routingList']/li/span[1]"));
for (WebElement option : options) {
if(testData.equals(option.getText()))
option.click();
尝试了上面的代码,但它只从列表中删除了一个,我已经通过了另外两个需要删除的测试数据。
需要建议
【问题讨论】:
-
是抛出异常还是不起作用?
-
没有例外,它只是不适用于在 excel 文件中定义相同关键字的其他测试数据,我正在使用关键字驱动框架。
-
该语句中的 testData 是什么?
if(testData.equals(option.getText())) -
它的名字。英国它有用于删除该选定选项的按钮。例如,我从下拉列表中选择一些选项,例如 UK,US,India 。在 UI 的一角,它们将被列出(选定的选项),并且将有单个选项的删除按钮。所以我需要点击那个删除按钮,它是垃圾图标。我正在从 excelfile 发送这些名称
-
好的,很抱歉问了这么多问题,但我想我知道发生了什么。那么,您的 testData 看起来像这样吗?
AS-EMEA-NORTH?还是它的一部分?还是根本没有?
标签: selenium xpath selenium-webdriver ui-automation