当有更多添加任务时,如何点击特定的“添加任务”链接,我无法找到唯一的X路径
在这种情况下,添加任务在我们添加新项目时出现,因此每次都会生成新的添加任务。
答案 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();