java - 多表 td 元素的 Xpath

标签 java selenium selenium-webdriver xpath

有一个网络表,我需要从第一行仅选择第二、第三和第四列。 我尝试使用 AND 运算符来选择多个 td,但 xpath 不起作用。

第一行的 Xpath 效果很好

((//div[contains(@id,'ReportGridStyle_forRW')])[2]//tbody/tr)[2]

选择 td 2nd 的 Xpath 效果很好

((//div[contains(@id,'ReportGridStyle_forRW')])[2]//tbody/tr)[2]//td[position()=2]

选择 td 第二、第三和第四列的 Xpath。需要帮助无法正常工作

 ((//div[contains(@id,'ReportGridStyle_forRW')])[2]//tbody/tr)[2]//td[position()=2 and position()=3 and position()=4]

最佳答案

如果您确实想使用 XPath,请执行以下操作:

  • descendant ax,用于遍历table标签定位第一个tr元素
  • position() 函数将行限制为仅“有趣”:

    //table/descendant::tr[1]/td[position() >= 2 and position() <= 4]
    

引用文献:

另请注意,您可以使用 Table class来自Html Elements framework - 它为您提供了一个清晰的 API 来使用表。

关于java - 多表 td 元素的 Xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56706138/

相关文章:

java - 频率音调发生器播放错误的声音

python - 使用 Selenium 和 python 将文件下载到指定位置

java - 如何通过组合两个不同的变量来创建变量名

Python Selenium 在 headless 状态下发生错误?

python - 如何使用 selenium 和 python 创建具有相同 xpath 的元素列表?

java - selenium2 webdriver找不到javascript新创建的元素

java - 将具有列表作为属性的 Java 对象写入和读取到 CSV

java - 正确对齐控制台输出表中的列并从零开始计数

java - 压缩后不保留文件权限

python - 使用 selenium webdriver 作为基类 python