python - 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
?
解决方案
由于元素是唯一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')]")
推荐阅读
- reactjs - 无效的钩子调用,它让我发疯?
- api - 如何从 API 保存数据 - 颤振
- git - 无法在 docker-compose 中克隆存储库
- python - 如何在使用 pandas_profiling 运行 ProfileReport 时解决 TypeError?
- reed-solomon - 为 reed-solomon 编码选择伽罗瓦域
- javascript - 如何增加/减少购物车中产品的数量?
- javascript - TamperMonkey JS UserScript 绕过等待时间
- python - 带有类的画布中的Python tkinter图像
- python - 我正在尝试使用 pandas 为数据框中的 5 个分类变量创建单独的条形图
- javascript - Javascript 与 C# 中的异步/等待