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

标签 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 标识符。

最佳答案

您使用了错误的属性名称 @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/

相关文章:

java - 如何使用 CoreNLP 从字符串中创建 SemanticGraph 对象?

java - 在 linux 中指定类路径 *.jar 时无法添加多个 jar

java - JUnit 参数化测试 - IllegalArgumentException : wrong number of arguments

java - 比较java中的两个原始long变量

selenium - 无法使用 Selenium webdriver 访问下拉菜单,为什么?

xpath - 如何在 JMeter 中通过 XPath Extractor 提取响应?

java - 无法使用Appium在Android中的权限对话框中单击允许按钮

rspec - Selenium::WebDriver::Error::JavascriptError:WAITING评估.js 加载失败 Firefox 23

java - 如何用 Selenium 定位这个 <a> 元素?

python - XPath 删除列表 Python 中的空格