【问题标题】:How can I get list of elements or data which are on same level with same attributes?如何获取具有相同属性的同一级别的元素或数据列表?
【发布时间】:2015-05-20 08:46:39
【问题描述】:

我有一个 Web 应用程序,它有一个 HTML 页面。

在这个页面结构是这样的:

<div class = 'abc'>
           <div class = 'pqr'>test1</div>
</div>
<div class = 'abc'>
           <div class = 'pqr'>-</div>
</div>
<div class = 'abc'>
           <div class = 'pqr'>-</div>
</div>
<div class = 'abc'>
           <div class = 'pqr'>test2</div>
</div>
<div class = 'abc'>
           <div class = 'pqr'>-</div>
</div>

这里我想从 test1 取数据到 test2。

我用 [Node Number] 尝试过 xpath,但我发现所有节点都在 [1] 级别。

有什么方法可以用“-”获取所有数据或元素列表 test1 到 test2 吗?

【问题讨论】:

  • 贴出你试过的xpath,使用那个xpath选择的元素,应该选择的元素

标签: html selenium xpath text selenium-webdriver


【解决方案1】:

我以前见过这种问题。

你必须在这里使用follow-sibling。

  • 首先我使用这种类型的 xpath :

    //div[text()='test1']/..//following-sibling::div[@class='pqr' and not(contains(text(),'test')) ]

  • 然后您需要更改脚本。 “注意:我用JAVA写过代码”

    逻辑:

    while(元素找到文本 = '-') { //这里获取数据 }

请尝试这种方法。

【讨论】:

    【解决方案2】:

    我猜你想要下面的xpath:

    (//div[@class='pqr'])[position()<=4]
    

    注意position() 谓词之前的括号()。

    在xpath tester 中输出:

    Element='<div class="pqr">test1</div>'
    Element='<div class="pqr">-</div>'
    Element='<div class="pqr">-</div>'
    Element='<div class="pqr">test2</div>'
    

    【讨论】:

    • 我也会尝试这种方法。
    【解决方案3】:

    我认为您不能使用 Test1 和 Test2 元素作为标识符,因为它们与您要收集的节点位于同一行。否则,我认为您可以使用 findElements(by.Xpath("pattern_to_search"))。这将为您返回与您的模式匹配的元素集合。

    【讨论】:

      【解决方案4】:

      另一种不使用 xpath 的方法:

         List<WebElement> element = driver.findElements(By.className("pqr"));     
         for(int i=0;i<element.size()-1;i++){
              System.out.println(element.get(i).getText());
         }
      

      【讨论】:

      • 为什么这被否决了?,问题是“有没有办法用“-”获取所有数据或元素列表 test1 到 test2?”....我给出的代码绝对有效其中一种方式....如果有人给出拒绝投票的理由会很有帮助
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多