元素定位的八种方法

元素定位方法的分类

在这里插入图片描述

实例

# id
drive.find_element_by_id("kw").send_keys("我系")
# xpath
drive.find_element_by_xpath('//*[@id="kw"]').send_keys("渣渣辉")
# name
drive.find_element_by_name("wd").send_keys("系兄弟")
#css sslector
drive.find_element_by_css_selector('[autocomplete="off"]').send_keys("就来")
# classname
drive.find_element_by_class_name("s_ipt").send_keys("砍我")
#tag name
drive.find_element_by_tag_name("input")
#link text
drive.find_element_by_link_text('hao123').click()
#partial link text
drive.find_element_by_partial_link_text("hao1").click()

注意
tag name 方式 选取是元素中相同属性的第一个,如果不是第一个就搜不到

link text与partial link text的区别
link text 中的链接文本必须写完整,partial link text中的文本不需要

Selenium WebDriver 提供了多种元素定位方法,以便精确地找到页面上的元素。以下是八种常见的定位策略: 1. **By.ID**: 根据元素的`id`属性查找元素,如 `driver.FindElement(By.Id("elementId"))`。 2. **By.NAME**: 按照表单控件的`name`属性定位元素,如 `driver.FindElement(By.Name("elementName"))`。 3. **By.XPATH**: 使用XPath表达式来匹配元素,XPath是一种强大的查询语言,可以指定非常复杂的节点选择条件。 4. **By.TAG_NAME**: 根据HTML标签名查找元素,如 `driver.FindElement(By.TagName("div"))`。 5. **By.CLASS_NAME**: 利用CSS选择器中的`.`来选取带有特定类名的元素,如 `driver.FindElement(By.ClassName("className"))`。 6. **By.CSS_SELECTOR**: 类似于CLASS_NAME,但更强大,允许使用更复杂的选择器语法,如 `.parent .child`。 7. **By.LINK_TEXT**: 找到包含给定文本的链接,如 `driver.FindElement(By.LinkText("linkText"))`。 8. **By.PARTIAL_LINK_TEXT**: 查找包含部分指定文本的链接,适用于链接有较长文本的情况。 9. **By.IMAGE_SOURCE** 或 **By.IMAGE_URL**: 根据图像的源或URL查找元素,常用于验证码等场景。 10. **By.FIND_ELEMENT_BY_XPATH**: 旧版本的XPATH定位方法,推荐使用`By.XPath`。 请注意,实际应用时应结合元素的特性和测试环境进行选择,如果元素的唯一标识不稳定(如ID),XPath可能会更有效。同时,每种方法的效率也有所不同,XPath一般比较慢,但定位更准确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值