java - 是否可以通过链接文本获取xpath?

标签 java html selenium xpath

我希望能够通过链接文本定位元素,然后将其 xpath 拉入变量中。这样做的原因是,我可以修改 xpath 以单击与第一个表相同的表中的不同元素。

我拥有的是一个表,其中添加了行,但我无法知道测试之间添加了多少行。

理想的情况是通过某种方式通过链接文本查找元素,然后提取该元素的 xpath,并且我知道该元素位于哪一列,我可以调整 xpath 并单击复选框。

例如如果链接文本元素的 xpath 为

//div[2]/table/tbody/tr/td/div/input

我知道该复选框将是

//div[2]/table/tbody/tr/td[4]/div

我实际上需要确定的是通过链接文本定位时该元素位于哪个//div[?] 中。

该表遵循 html 结构

<div class="tableRow">
    <table>
      <tbody>
        <tr>
          <td/>
          <td/>
         </tr>
       </tbody>
      </table>
   </div>

最佳答案

//div[//input[text()='text to find']]

查找一个输入等于文本的 div

//div[//input[@href='http://localhost/']]

查找一个带有输入的 div,其链接等于所提供的链接

如果你找到所有元素并将其放入集合中,那么使用indexOf(或类似的逻辑)你可以找到行的索引。

关于java - 是否可以通过链接文本获取xpath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695732/

相关文章:

python - 如何在 pyinstaller 中包含 chromedriver?

java - 查找二叉树中两个节点之间的路径

java - 将 Velocity 与 Tiles 和 Spring 结合使用

java - 是否有一个简单的类封装了一个 boolean 值和一个字符串?

javascript - 有什么方法可以隐藏文本以防止在开发工具中检查或单击+检查?

Python Selenium "Connection refused"错误在 ssh 终端中出现,但在常规终端中没有出现

java - 在 Spring 中获取 @Lazy 嵌套组件中的属性 (@Value)

html - 将身份/帐户/登录设置为 Blazor 服务器登录页面?

html - float : left not working as expected

javascript - 在 Selenium 中使用 Java Script Executor 时无法读取未定义的属性 'click'