Selenium webdriver 如果div id中存在重复项,如何选择所需的div id?

Selenium webdriver 如果div id中存在重复项,如何选择所需的div id?,selenium-webdriver,xpath,Selenium Webdriver,Xpath,我使用div id标签(复制?)遇到了一个问题。我使用参考路径而不是绝对路径来避免一些问题,但是,现在我的selenium停止识别计数 我使用的参考路径: //*[@id="mx_objectCount"] 源代码引用: <div id="mx_objectCount" class="object-count"></div> <div id="mx_objectCount">26 objects</div> 26个对象 我感兴趣的是总数。

我使用div id标签(复制?)遇到了一个问题。我使用参考路径而不是绝对路径来避免一些问题,但是,现在我的selenium停止识别计数

我使用的参考路径:

//*[@id="mx_objectCount"]
源代码引用:

<div id="mx_objectCount" class="object-count"></div>

<div id="mx_objectCount">26 objects</div>

26个对象

我感兴趣的是总数。如何跳过第一个并跳转到下一个?

要仅选择第二个
div
,可以使用第二个
div
缺少的
@class
属性,如下所示:

//*[@id="mx_objectCount" and not(@class)]

这可以通过多种方式实现

基于类名获取第一个节点并跳到以下同级节点

//div[@class=‘object-count’]/following-sibling::div
通过基于Id等公共属性获取第二个节点(不推荐,因为索引可以更改)

如果不更改“对象”,则使用文本

(//div[@id=‘mx_objectCount’])[2]
//div[contains(text(), ‘objects’)]

如果存在重复的或已经存在的Id、名称、类名等,那么使用Xpath很容易捕获元素

使用ChroPath(适用于google chrome浏览器)和Fire path(适用于Firefox浏览器),您可以轻松获得Xpath

//div[contains(text(), ‘objects’)]