我正在尝试获取 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 标识符。
最佳答案
您使用了错误的属性名称 @id
而不是 @data-hide-id
。
尝试以下 XPath 表达式:
"//a[@data-hide-id = 'list_" + pageID + "']"
在整个命令中,这可能看起来像
driver.findElement(By.xpath("//a[@data-hide-id = 'list_" + pageID + "']")).click();
关于XPath 中带有字符串变量的 Java XPath 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51715330/