selenium定位元素的方法_selenium元素定位的八种方式

 听首音乐再学习更愉快哟

先来认识一下元素定位的八种方式

# 1. 唯一id定位driver.find_element_by_id()# 2. name定位driver.find_element_by_name()# 3. class属性定位driver.find_element_by_class_name()# 4. 标签名字定位driver.find_element_by_tag_name()# 5. 文本链接定位driver.find_element_by_link_text()# 6. xpath路径定位driver.find_element_by_xpath()# 7. css路径定位driver.find_element_by_css_selector()# 8. 关键字文本链接定位driver.find_element_by_partial_link_text()

查看页面元素

打开网页,右键检查

selenium定位元素的方法_selenium元素定位的八种方式_第1张图片

然后就可以看到整个页面的HTML代码了

selenium定位元素的方法_selenium元素定位的八种方式_第2张图片

接着点击左上角的箭头标志,移动鼠标到页面想要定位元素的位置,HTML代码就会自动移动到对应的位置,我们就可以看到他对应的代码信息

selenium定位元素的方法_selenium元素定位的八种方式_第3张图片

selenium定位元素的方法_selenium元素定位的八种方式_第4张图片

1. 唯一id定位

我们可以在这里看到有一个属性为id的,id一般在HTML里面是唯一存在的,所以元素有id的情况下,我们可以根据id去进行定位

selenium定位元素的方法_selenium元素定位的八种方式_第5张图片

比如我们通过这个id定位,在百度搜索框内输入Python

实现代码

from selenium import webdriver# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据id定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_id('kw').send_keys('python')

实现效果

selenium定位元素的方法_selenium元素定位的八种方式_第6张图片

2. name属性定位

还是定位搜索框,有个属性为name

selenium定位元素的方法_selenium元素定位的八种方式_第7张图片

实现代码

# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据name定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_name('wd').send_keys('python')

实现效果

selenium定位元素的方法_selenium元素定位的八种方式_第8张图片

3. class属性定位

仍然是搜索框,有一个属性为class

selenium定位元素的方法_selenium元素定位的八种方式_第9张图片

但class的属性值不一定全是唯一的,所以我们要确认一下这个值是否唯一,页面Ctrl + f 进行值搜索,确保这个值可以找到且唯一

selenium定位元素的方法_selenium元素定位的八种方式_第10张图片

实现代码

# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据class定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_class_name('s_ipt').send_keys('这是class定位实现的效果')

实现效果

selenium定位元素的方法_selenium元素定位的八种方式_第11张图片

4. 标签名字定位

搜索框的标签名字

selenium定位元素的方法_selenium元素定位的八种方式_第12张图片

根据标签名字定位工作中一般是不常用的,因为标签名字不是唯一的,因此如果定位是不唯一的标签名字,就会出现报错情况

# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据tag定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_tag_name('input').send_keys('tag定位')

实现结果是报错的,因为这个标签名字不是唯一的,不推荐使用

5. 文本链接定位

文本链接定位,首先得是一个链接才可以,就比如百度页面的这个高考加油

selenium定位元素的方法_selenium元素定位的八种方式_第13张图片

我们点进去之后会跳转去其他页面

selenium定位元素的方法_selenium元素定位的八种方式_第14张图片

实现代码

# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 文本链接定位# click 点击操作driver.find_element_by_link_text('高考加油').click()

实现效果

selenium定位元素的方法_selenium元素定位的八种方式_第15张图片

6. xpath路径定位

还是搜索框,找到元素,右键copy--xpath,当然也可以自己写xpath

selenium定位元素的方法_selenium元素定位的八种方式_第16张图片

实现代码

# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# xpath定位driver.find_element_by_xpath('//*[@id="kw"]').send_keys('xpath')

实现效果

selenium定位元素的方法_selenium元素定位的八种方式_第17张图片

7. css定位

搜索框,找到元素,右键copy--css,当然也可以自己写css

selenium定位元素的方法_selenium元素定位的八种方式_第18张图片

实现代码

# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# css定位driver.find_element_by_css_selector('#kw').send_keys('css')

实现效果

selenium定位元素的方法_selenium元素定位的八种方式_第19张图片

8. 关键字文本链接定位

这个是文本链接定位的模糊定位,比如高考加油

selenium定位元素的方法_selenium元素定位的八种方式_第20张图片

实现代码

# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 关键字文本链接定位driver.find_element_by_partial_link_text('高考').click()

实现效果

selenium定位元素的方法_selenium元素定位的八种方式_第21张图片

     让生活句号圈住的人,是无法前进半步的。    

selenium定位元素的方法_selenium元素定位的八种方式_第22张图片

以上就是我们今天分享的内容了,觉得有帮助的记得点个关注哟。

往期文章

Python自动化之初识selenium

你可能感兴趣的:(selenium定位元素的方法,测试中使用定位搜索框搜索内容)