java - 如何找到具有随机生成的 id 的元素的 xpath?

标签 java selenium-webdriver xpath

我的网页上有一个元素具有随机生成的 ID,例如:id=8726dd92-7bdf-4435-bf75-653859329c06。现在我该如何编写 xpath 呢?

还有其他属性,例如 aria-labelclass,但它们似乎都不起作用。我尝试使用大多数可用的 xpath 生成器来捕获该元素,但没有成功。右键单击 -> 检查生成的 //*[@id="8726dd92-7bdf-4435-bf75-653859329c06"] 它不是唯一的,并且随着每个页面加载而不断变化

这是该元素可用的标签:

<input aria-required="true" aria-label="Name" id="8726dd92-7bdf-4435-bf75-653859329c06" class="rwa-input fixed " maxlength="100">

我想要一个可以在运行时捕获动态值并替换 xpath 上的变量的函数。例如://*[@id='dynamic-id']

DOM-Structure

最佳答案

如果类名是唯一的,你可以尝试下面的 xpath

driver.findElement(By.xpath("//input[@class='rwa-input fixed ']"));

关于java - 如何找到具有随机生成的 id 的元素的 xpath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170845/

相关文章:

java - 无法访问代码错误

python - 如何使用 Selenium 和 Python 将文本发送到 Twitter 登录页面中的电子邮件字段

java - 在单元测试中确定 Jetbrains IntelliJ IDEA 8 或 9 是否正在运行

java - 无法将 SurfaceTexture 设置为已发布的 SurfaceTexture

python - 用selenium填写登录信息

javascript - 是否可以在 Protractor 中单击带有 phantomJS 的元素?

java - 在java中切片列表

python - XPath - 在单个查询中选择特定节点的前后兄弟节点

php - 具有以下同级的强元素后的 xpath 文本不起作用

java - JSP 文件中的 Lambda 表达式无法编译