我的第一个测试案例是添加一个我已成功自动化的记录。我的第二个测试用例是删除我在测试用例1中添加的记录。我需要你的帮助才能从web表中找到Delete按钮。首先,我想找到行(基于column1和column2中的值,在本例中为ACTION20ALIANT和2018-01-07),然后转到最后一列该行并单击“删除”按钮。“删除”按钮的位置因记录名称而异。下面是我的方法,它给出了一个错误。
public static void Test(WebDriver driver) {
WebElement table = driver.findElement(By.name("frmSMain"));
List<WebElement> rows = table.findElements(By.tagName("tr"));
for (WebElement row : rows) {
if(row.findElement(By.xpath("//tr/td[text()='ACTION20Aliant']/following-sibling::td[text()=' 2018-01-07 ']")).getText().equals(" 2018-01-07 "))
row.findElement(By.cssSelector("td:last-child input")).click();
}
}
代码未识别我的xpath:
无法找到
的元素xpath == //tr/td[text()='ACTION20Aliant']/following-sibling::td[text()=' 2018-01-07']
答案 0 :(得分:1)
您需要搜索同时具有这两个tr
的{{1}}并从那里继续。
起点示例:
td
这将返回包含这些值的//tr[.//a[text()='ACTION20Aliant']][.//td[text()='2018-01-07']]
,现在您可以附加所需的选择器。
您需要追加的内容如下:
tr
导致:
//input[@value='Delete']
现在你可以搜索元素,如果找到则使用点击返回的对象,否则什么都不做。