一、selenium安装
pip3 install selenium
二、安装浏览器驱动
1:下载最新的浏览器驱动
chrome浏览器驱动下载地址:
https://registry.npmmirror.com/binary.html?path=chromedriver/
查看自己电脑上安装的chrome浏览器版本号,驱动和浏览器版本号需对应。
查看自己电脑浏览器的版本号:
进入驱动下载地址,下载驱动;
比如我的谷歌版本是113.0.5672.126,我下载对应的chromedriver的版本是113.0.5672.63,
点击进去之后,如果你是windows系统就选win32这个,苹果的系统就选相对应的下载就行了。
查看驱动的版本号:
2、安装
解压下载的驱动文件放入/user/local/bin下
3:测试安装成功
写一个简单的selenium脚本进行验证
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
能成功打开浏览器并进入百度首页,即为安装成功。
三、元素定位方式
元素定位方式分为八大元素定位
以百度一下为例
1:通过id进行定位
定位输入框,并输入内容,获取输入框的id属性的值。
定位:
# 通过id来定位
ele = driver.find_element('id', 'kw') # 定位元素
ele.send_keys('测试') # 输入内容
2:通过name定位
定位百度输入框,获取name属性的值
定位:
# 通过name来定位
ele = driver.find_element('name', 'wd')
ele.send_keys('通过name定位')
3:通过class_name定位
定位“换一换”按钮,并且进行点击操作
定位:
注意:定位方式的class name中间是个空格
# 通过class_name来定位
ele = driver.find_element('class name', 'hot-refresh-text')
ele.click() # 点击操作
4:通过link_text定位
通过超链接的文本进行定位
定位“新闻”,并进行点击操作
定位:
# 通过link_text来定位
ele = driver.find_element('link text', '新闻')
ele.click()
5:通过partial_link_text定位
使用场景:超链接的文本超长,可以只输入部分文本
定位“hao123”
定位:
# 通过partial_link_text定位
ele = driver.find_element('partial link text', 'hao')
ele.click()
6:通过tag_name定位
使用标签进行定位,一般标签都是有多个的,此时可以使用find_elements进行查找,查找的结果是一个列表。
例如:定位标签<a>
# 通过tag_name来定位
eles = driver.find_elements('tag name', 'a')
print(len(eles), eles)
# 点击第5个a标签
eles[4].click()
7:通过xpath定位
在F12中复制要定位元素的路径
定位百度输入框:
定位:
# 通过xpath来定位
ele = driver.find_element('xpath', '/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input')
ele.send_keys('xpath')
8:通过css进行定位
定位百度输入框
定位:
# 通过css来定位
ele = driver.find_element('css selector', '#kw')
ele.send_keys('css')
在输入定位方式时,可以导入By方法,可以防止输入定位方式拼写错误。
from selenium.webdriver.common.by import By
ele = driver.find_element(By.ID, 'kw')
ele.send_keys('测试')