XPath中带有字符串变量的Java XPath语法

时间:2018-08-06 20:41:20

标签: java selenium-webdriver xpath

我试图在XPath中获取具有递增编号的动态元素。

这是我要查找的元素的HTML:

<a class="delete_link" data-hide-id="list_169" data-delete-action="/panel/menuitem/menudelete/id/169" href="#">Delete</a>

这是我的代码:

driver.findElement(By.xpath("//*[@id=list_"+pageID+"")).click();

其中pageID是“ list_”后面的字符串号

我似乎无法正确地找到它的语法。我通常只能通过ID来找到它,但是如您所见,该元素没有普通的ID标识符。

1 个答案:

答案 0 :(得分:1)

您使用了错误的属性名称@id而不是@data-hide-id
尝试以下XPath表达式:

"//a[@data-hide-id = 'list_" + pageID + "']"

在整个命令中,这看起来像

driver.findElement(By.xpath("//a[@data-hide-id = 'list_" + pageID + "']")).click();