如何在selenium webdriver中找到动态元素的Xpath

时间:2015-06-27 14:54:54

标签: java selenium xpath selenium-webdriver

当有更多添加任务时,如何点击特定的“添加任务”链接,我无法找到唯一的X路径

在这种情况下,添加任务在我们添加新项目时出现,因此每次都会生成新的添加任务。

3 个答案:

答案 0 :(得分:3)

据我了解,您需要根据项目名称找到“添加任务”链接。项目名称节点未在屏幕截图上展开,但我假设其中也存在a元素:

String projectName = "qrr";
driver.findElement(By.xpath("//tr/td[a = '" + projectName+ "']/following-sibling::td/a[. = 'add tasks']"));

这是找到qrr项目名称的“添加任务”按钮。

或者,您可以找到相应的行并使用“按链接文本”定位器:

WebElement row = driver.findElement(By.xpath("//tr[td/a = 'qrr']"));
WebElement addTasks = row.findElement(By.linkText("add tasks"));

答案 1 :(得分:0)

您可以使用Path但我建议使用Path的Selector选择。 CSS选择器比Path快。要学习CSS选择器,您可以使用http://www.w3schools.com/css/css_selectors.asp

答案 2 :(得分:0)

我使用了以下代码,它工作得很好

String ProjectName = "qrr";

driver.findElement(By.xpath("//tr/td/a[contains(text(),'"+ ProjectName +"')]/ancestor::tr[2]/td[2]/a[contains(text(),'add tasks')]")).click();