Selenium webdriver 如果div id中存在重复项,如何选择所需的div id?
我使用div id标签(复制?)遇到了一个问题。我使用参考路径而不是绝对路径来避免一些问题,但是,现在我的selenium停止识别计数 我使用的参考路径: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个对象 我感兴趣的是总数。
//*[@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’)]