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(

Selenium 是一个用于 Web 应用自动化测试的工具,它可以在浏览器中模拟用户操作。本文详细介绍了 Selenium 的定义、工作原理、配置、浏览器驱动的匹配,以及如何使用 Selenium 进行网页元素定位、页面等待、执行 JavaScript 代码、页面操作等。此外,还提供了模拟登录 GitHub 的案例。
最低0.47元/天 解锁文章

3979

被折叠的 条评论
为什么被折叠?



