Selenium
一.Selenium定义:
Selenium 是一个 Web 的自动化测试工具,最初是为网站自动化测试而开发的,就像玩游戏用的按键精灵,可以按指定的命令自动操作。Selenium 测试工具直接操控浏览器中,就像真正的用户在操作一样。Selenium 可以根据的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生
二.Selenium工作原理
三.Selenium配置
Selenium 支持多种浏览器,最常见的就是 火狐 和 谷歌 浏览器。首先在电脑上下载浏览器,浏览器版本不宜过新。
四.浏览器驱动
切记浏览器版本与驱动版本要匹配,以下案例全是以谷歌为例
火狐驱动:geckodriver 0.23.0 ( 2018-10-04)
火狐驱动下载地址
谷歌驱动:ChromeDriver 71.0.3578.33
谷歌驱动下载地址:
谷歌驱动下载地址
谷歌驱动下载地址
配置浏览器驱动:
将下载好的浏览器驱动解压,将解压出的 exe
文件放到Python的安装目录下,也就是和python.exe
同目录即可。
五.使用Selenium
1.安装Selenium
pip install selenium
2.简单操作一波
‘’’
打开百度首页
‘’’
from selenium import webdriver
driver = webdriver.Chrome()
url = ‘https://www.baidu.com/’
#打开 get 就类似与在浏览器地址栏里面放入网址
driver.get(url)
#退出浏览器
driver.quit()
3.元素的提取
1.css选择器
find_element_by_css_selector()
以百度界面为例:
'''
数据的提取:
Selenium提供了8种方式来提取元素.
find_element_by_css_selector() 通过css选择器找到元素
调用:
driver 是 实例化后的对象
driver.find_element_by_css_selector()
'''
# 清空 input 标签
driver.find_element_by_css_selector('#kw').clear()
# 点击搜索关键字
driver.find_element_by_css_selector('#kw').send_keys('python')
# 点击搜索按钮
driver.find_element_by_css_selector('#su').click()
2.Xpath选择器
find_element_by_xpath()
以百度界面为例:
# 清空 input 标签
driver.find_element_by_xpath('//*[@id="kw"]').clear()
# 点击搜索关键字
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('你好')
# 点击搜索按钮
driver.find_element_by_xpath('//*[@id="su"]').click()
注意:
-
find_element_**()
类型的方法只能获取元素。想要获取属性要使用get_attribute()
方法driver.find_element_by_xpath('//*[@id="kw"]').get_property('name') driver.find_element_by_xpath('//*[@id="kw"]').get_attribute('class')
-
find_element_**()
类型的方法只能获取一个元素。想要获取多个元素,可以采用find_elements_**()
,中间多了一个s,代表获取多个。
3.其他方式
find_element_by_link_text()
通过文本链接来定位元素
find_element_by_partial_link_text()
通过文字链接中的一部分文字定位,属于模糊定位:
driver.find_element_by_link_text('把百度设为主页').get_attribute('id')
driver.find_element_by_partial_link_text('把百度').get_attribute('id')
其他方式
find_element_by_id()
find_element_by_class_name()