首页 > 解决方案 > Selenium 查找 ID 属性以唯一字符开头并以随机字符结尾的元素

问题描述

这是我的 HTML 按钮的代码:

<button type="submit" class="btn btn-secondary" id="single_button618eda460b64617" title="">Re-attempt quiz</button>

以及我为许多其他组件定义的类,并且id总是以single_button.

但结尾是随机字符。它是唯一一个以这个前缀开头的。

我如何使用button=driver.find_element_by_id(),但首先single_button

标签: pythonseleniumxpathcss-selectorsfindelement

解决方案


由于元素是唯一id以该唯一值开头的属性前缀,您可以使用以下任一动态定位器策略

  • 使用css_selector

    button = driver.find_element(By.CSS_SELECTOR, "button[id^='single_button']")
    

PS:id^表示,id属性的值以开头。

  • 使用xpath

    button = driver.find_element(By.XPATH, "//button[starts-with(@id, 'single_button')]")
    

推荐阅读