前言
当我们使用urllib来访问浏览器时,并不是都可以获取完全的网页源码,urllib的功能主要是模拟浏览器向服务器发送请求,而selenium则是直接在浏览器中打开网页。就像真实的浏览器在运行。接下来我们一起进入selenium的学习。
文章目录
- 1.通过id来找到对象
- 2.根据标签属性的属性值来找到对象
- 3.根据xpath语句来获取对象
- 4.根据bs4语法来获取对象
- 5.根据标签名字来获取对象
- 6.通过当前页面中的链接文本来获取对象
- 1.点击
- 2.输入
- 3.后退操作
- 4.前进操作
- 5.模拟js滚动
- 6.获取网页代码
- 7.退出
- 实例
(一)什么是selenium
- selenium是一个用于web应用程序测试的工具。
- selenium测试直接运行在浏览器中,就像真实的用户操作一样。
- 支持通过各种driver(FirfoxDriver,IEDeriver,operaDriver,chromeDriver)驱动真实浏览器去完成测试。
- selenium也是支持无界面浏览器操作的。
(二)为什么使用selenium
模拟浏览器功能,自动执行网页中的js代码,实现动态加载。
(三)selenium的安装
1.浏览器驱动下载
- 谷歌浏览器驱动下载地址
- FireFox驱动下载地址
- IE驱动下载地址
http://selenium-release.storage.googleapis.com/index.html
这里根据自己使用的浏览器和版本下载对应的驱动版本。
安装好之后为zip文件,需要进行解压并拖进pycharm当前路径方便使用
2.selenium安装
pip install selenium -i https://pypi.douban.com/simple
3.selenium的简单使用
(四)selenium的元素定位
元素定位即自动化要做的就是模拟鼠标和键盘来操作这些元素,点击,输入等等,操作这些元素前首先要找到他们,webdriver提供很多定位元素的方法。
以下有6种方法:
1.通过id来找到对象
2.根据标签属性的属性值来找到对象
3.根据xpath语句来获取对象
4.根据bs4语法来获取对象
5.根据标签名字来获取对象
6.通过当前页面中的链接文本来获取对象
(五)selenium访问元素信息
例:
1.获取元素属性的属性值
.get_attribute(’’)
运行结果:
2.获取标签名
.tag_name
运行结果:
3.获取元素文本
.text
运行结果:
(六)selenium中的交互
1.点击
click()
2.输入
send_keys()
3.后退操作
browser.back
4.前进操作
browser.forword()
5.模拟js滚动
move = document.documentElement.scrollTop=‘100000’
执行move代码
browser.execute_script(move)
6.获取网页代码
page_source
7.退出
browser.quit()
实例