使用xpath查找项目,其中某些元素具有子元素,而其他元素则没有

时间:2020-03-24 13:25:58

标签: selenium xpath

晚上好。我在Chrome中有一张表格,我正尝试获取所有值。我正在使用Java和Selenium。我将标题放入列表,然后细读行,获取每个单元格并获取其位置,获取标题并制作地图。希望有道理。

我一次获得一行,并执行row.findElements(By.xpath()))...。

该表如下所示。 我将使用{tr},{td}等,而不是<>,因为键入lt和gt会很累。

 {tr}
   {td} 
     {input value='this is a cell value'} 
   {/td}
 {/tr}
 {tr}
   {td} 
     {span @class='MyClass'} This is a cell value {/span}
   {/td}
 {/tr}
 {tr}
    {td class='Want This One'} Want this value {/td}
 {/tr}

当没有class ='Want This One'时,我可以做

 row.findElements(By.xpath("./td//*[1][self::input[@value or @title] or self::span[@class='MyClass']")

但是现在找不到{td class ='Want This One'}

如何将没有子元素的td添加到findBy?请记住,它必须按特定顺序排列,以便与标题匹配。

1 个答案:

答案 0 :(得分:0)

尝试使用此xpath表达式:

//tr/td[@class='Want This One']/text()

输出:

想要这个值