selenium元素定位-简单版

本文主要介绍了使用Selenium进行浏览器操作及元素定位的方法,包括基本定位、XPath、CSS选择器等,并提供了父子、兄弟和相邻节点定位的具体策略。
前言

selenium元素定位个人总结

一、浏览器操作

二、元素定位

1.基本方法

方式
    浏览器开发者工具
    开发者模式下,右键复制xpath
ID
    driver.find_element(By.ID,'id_value')
    有这个可以先用,唯一即可
Name
    driver.find_element(By.NAME,'name_value')
    有这个可以先用,唯一即可
class_name
    driver.find_element(By.CLASS_NAME,'s_ipt')
    一般不用这个,因一般会重复
tag_name
    【慎用】tag_name!!
    driver.find_element(By.TAG_NAME,'input')

2.xpath方法


3、css selector方法

4、父子、兄弟、相邻节点定位方法

总结

多写就会很快掌握

### 使用 Selenium 定位 Ant Design Vue 中的 `ant-select-selection-overflow` 元素 为了使用 Selenium 准确地定位到具有特定类名 `ant-select-selection-overflow` 的元素,可以采用多种策略来实现这一目标。通常情况下,推荐的方法是通过 CSS 选择器或 XPath 表达式来进行定位。 #### 方法一:基于CSS选择器的方式 如果页面上只有一个这样的组件实例,则可以直接利用该唯一存在的类作为标识符: ```python from selenium import webdriver driver = webdriver.Chrome() element = driver.find_element_by_css_selector(".ant-select-selection-overflow") ``` 这种方法简单明了,适用于大多数场景下的单个匹配项检索操作[^1]。 #### 方法二:组合多个属性进行更精确的选择 考虑到实际应用环境中可能存在相同样式应用于不同控件的情况,因此可以通过结合其他父级标签或其他特性进一步缩小范围,提高选取准确性: ```python from selenium.webdriver.common.by import By # 假设此下拉框位于表单项内,并且有特定label文字关联 locator = (By.CSS_SELECTOR, "div.ant-row-space > div:nth-child(2) .ant-form-item-label label[title='职位名称'] ~ * .ant-select-selection-overflow") elements = driver.find_elements(*locator) if elements: target_element = elements[0] else: raise ValueError("未找到符合条件的目标元素") ``` 这里假设了结构上的某些特点,比如预期中的HTML布局形式以及相关联的文字提示等信息,从而构建了一个更为复杂的查询语句以确保获取的是所需的那个具体对象。 #### 方法三:借助XPath表达式的灵活性 当面对更加复杂或者不确定性的DOM树时,还可以考虑运用XPath的强大功能来进行路径导航和条件过滤: ```python xpath_expression = "//span[contains(@class,'ant-select-selection-overflow')]" target_element_via_xpath = driver.find_element(By.XPATH,xpath_expression ) ``` 这种方式允许开发者根据实际情况灵活调整查询逻辑,甚至可以在必要时候引入额外的判断依据(如文本内容、子节点特征等),以便更好地适应各种可能的变化情形。 无论选用哪种方式,在编写自动化测试脚本之前都应该先仔细研究待测网页的具体情况,包括但不限于源码结构、动态加载机制等因素的影响,这样才能制定出最合适的解决方案并保证最终执行效果的理想程度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值