多表td元素的Xpath

时间:2019-06-21 15:14:41

标签: java selenium selenium-webdriver xpath

有一个Web表,我只需要从第一行中选择第二,第三和第四列。 我尝试使用AND运算符选择多个td,但是xpath无法正常工作。

第一行的Xpath效果很好

Dim targetFrameworkAttribute As TargetFrameworkAttribute =
Assembly.GetExecutingAssembly().GetCustomAttributes(GetType(TargetFrameworkAttribute), False).SingleOrDefault()

lblBuildDate.Text = $"Build date: {mdBuildDate} - [ VS2017 ] [ {targetFrameworkAttribute.FrameworkDisplayName.Replace(" Framework", "")} ]"

Xpath选择td 2nd效果很好

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

Xpath以选择td第二,第三和第四列。需要帮助不起作用

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

1 个答案:

答案 0 :(得分:0)

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

  • descendant轴,用于遍历表格标记以查找第一个tr元素
  • position()函数将行限制为仅“有趣”:

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

参考文献:

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