单击带有硒的动态变化的 ID 元素



我有这段HTML代码:

<li class="ui-menu-item" id="ui-id-12" tabindex="-1"><a>2</a></li>
<a>2</a>
</li>

id"ui-id-12" 正在动态变化,数字是被更改的部分,所以我想知道如何使用 Selenium & XPaths 找到这个元素。我正在考虑使用锚元素标签中的内容查找元素,但不确定这是否明智,所以我来这里询问什么是最佳选择。

<li>元素的id属性的值,即ui-id-12是动态的。因此,要找到元素,您可以使用以下任一定位器策略:

  • 使用css_selector

    element = driver.find_element_by_css_selector("li.ui-menu-item[id^='ui-id-']")
    
  • 使用xpath

    element = driver.find_element_by_xpath("//li[starts-with(@id, 'ui-id-') and @class='ui-menu-item']")
    

最新更新