How to find element by part of its id name in selenium with python(如何使用python在selenium中通过其id名称的一部分查找元素)
问题描述
我在 python 中使用 selenium,现在我想通过它的 id 名称的一部分来定位一个元素,我该怎么办?
I'm using selenium with python,now I want to locate an element by part of its id name,what can I do?
例如,现在我已经通过 id 名称 coption5 找到了一个项目:
For example,now I've already located a item by id name coption5 :
sixth_item = driver.find_element_by_id("coption5")
有没有我只能使用 coption 来定位这个元素?
Is there anyway I can locate this element only by using coption?
推荐答案
找到你找到的元素:
sixth_item = driver.find_element_by_id("coption5")
要仅使用 coption 定位此元素,您可以使用以下任一 定位器策略:
To locate this element only by using coption you can use can use either of the following Locator Strategies:
使用
XPATH
和starts-with()
:
sixth_item = driver.find_element_by_xpath("//*[starts-with(@id, 'coption')]")
使用 XPATH
和 contains()
:
sixth_item = driver.find_element_by_xpath("//*[contains(@id, 'coption')]")
使用 CSS_SELECTOR
和 ^
(开头的通配符):
Using CSS_SELECTOR
and ^
(wildcard of starts-with):
sixth_item = driver.find_element_by_css_selector("[id^='coption']")
使用 CSS_SELECTOR
和 *
(包含通配符):
Using CSS_SELECTOR
and *
(wildcard of contains):
sixth_item = driver.find_element_by_css_selector("[id*='coption']")
您可以在以下位置找到关于动态 CssSelectors 的详细讨论:
You can find a detailed discussion on dynamic CssSelectors in:
- 如何使用 Selenium 和 Python 获取内部具有动态部分的选择器?
- JavaSelenium webdriver 表达式通过 ccs 查找以 开头和结尾的动态元素
- 如何在通过 Selenium 和 Python 实现自动化的同时使用 xpath/css 选择器在 drupal 8 网站中单击动态链接
- 通过 CSS 选择器查找元素在 Python 中使用 ChromeDriver (Selenium)
这篇关于如何使用python在selenium中通过其id名称的一部分查找元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用python在selenium中通过其id名称的一部分查


基础教程推荐
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01