Selenium 安装和简单使用的实现


Posted in Python onDecember 04, 2020

一、简介

Selenium是一个用于Web应用程序测试的工具。

Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Firefox,Safari,Chrome,Opera等。

在爬虫上用来模拟正常用户访问网页并获取数据。

二、安装(以Chrome为例)

浏览器安装

windows下安装就不多说了,以下为服务器(Centos7)的安装步骤

#下载安装包到同级目录下
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

#安装
yum install ./google-chrome-stable_current_x86_64.rpm

Selenium安装

pip install selenium

驱动下载

selenium是通过ChromeDriver调用的Chrome浏览器(其他主流浏览器也有相应驱动),所以需要下载ChromeDriver,而且ChromeDriver版本需要与Chrome的版本对应,版本错误的话则会运行报错。

(1)查看Chrome浏览器版本

Windows系统查看方法:打开Chrome浏览器 > 右上角三个点 > 设置 > 关于Chrome

Selenium 安装和简单使用的实现

Centos7 查看方法:google-chrome --version

Selenium 安装和简单使用的实现

(2)下载相应版本的驱动

下载地址:

Chrome浏览器驱动(ChromeDriver):http://npm.taobao.org/mirrors/chromedriver/

备用地址
Firefox浏览器驱动(GeckoDriver):https://github.com/mozilla/geckodriver/releases
IE浏览器驱动:http://selenium-release.storage.googleapis.com/index.html
Edge浏览器驱动:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Opera浏览器驱动:https://github.com/operasoftware/operachromiumdriver/releases
PhantomJS浏览器驱动:https://phantomjs.org/

找到相应的版本:

可以看到我的Chrome版本为78.0.3904.108,在上述网址中找到对应的版本,对应大版本(例:78)即可。

Selenium 安装和简单使用的实现

里边有四个文件,前三个对应相应的系统(不用区分64位还是32位),notes.txt文件里说明了更新内容和支持版本

Selenium 安装和简单使用的实现

(3)ChromeDriver安装

Mac/Linux:下载完成解压后,将文件移动至/usr/local/bin目录中,则可以正常使用
Windows:下载完成解压后,将文件移动到一个配置了环境变量的文件夹中,例如你的Python安装文件夹。

三、 简单使用

这是一个打开百度首页,在输入框中输入‘平头哥儿'的例子。

import time
from selenium import webdriver

# 打开一个Chrome浏览器
driver = webdriver.Chrome() #Chrome浏览器
#driver = webdriver.Chrome(r'ChromeDriver路径') #还可以指定路径
#driver = webdriver.Firefox() 				 # Firefox浏览器
#driver = webdriver.Ie() # IE浏览器
#driver = webdriver.Edge() # Edge浏览器
#driver = webdriver.Opera() # Opera浏览器
#driver = webdriver.PhantomJS() # PhantomJS浏览器

# 请求百度首页
driver.get('https://www.baidu.com')

time.sleep(5) #方便演示,等待五秒

#找到输入框位置,并输入'平头哥儿',百度特性(输入完内容会自动查)
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('平头哥儿')

time.sleep(5) #方便演示,等待五秒

driver.quit() #关闭全部窗口

Selenium文集传送门:

标题 简介
Python爬虫 - Selenium(1)安装和简单使用 详细介绍Selenium的依赖环境在Windows和Centos7上的安装及简单使用
Python爬虫 - Selenium(2)元素定位和WebDriver常用方法 详细介绍定位元素的8种方式并配合点击和输入、提交、获取断言信息等方法的使用
Python爬虫 - Selenium(3)控制浏览器的常用方法 详细介绍自定义浏览器窗口大小或全屏、控制浏览器后退、前进、刷新浏览器等方法的使用
Python爬虫 - Selenium(4)配置启动项参数 详细介绍Selenium启动项参数的配置,其中包括无界面模式、浏览器窗口大小设置、浏览器User-Agent (请求头)等等
Python爬虫 - Selenium(5)鼠标事件 详细介绍鼠标右击、双击、拖动、鼠标悬停等方法的使用
Python爬虫 - Selenium(6)键盘事件 详细介绍键盘的操作,几乎包含所有常用按键以及组合键
Python爬虫 - Selenium(7)多窗口切换 详细介绍Selenium是如何实现在不同的窗口之间自由切换
Python爬虫 - Selenium(8)frame/iframe表单嵌套页面 详细介绍如何从当前定位的主体切换为frame/iframe表单的内嵌页面中
Python爬虫 - Selenium(9)警告框(弹窗)处理 详细介绍如何定位并处理多类警告弹窗
Python爬虫 - Selenium(10)下拉框处理 详细介绍如何灵活的定位并处理下拉框
Python爬虫 - Selenium(11)文件上传 详细介绍如何优雅的通过send_keys()指定文件进行上传
Python爬虫 - Selenium(12)获取登录Cookies,并添加Cookies自动登录 详细介绍如何获取Cookies和使用Cookies进行自动登录
Python爬虫 - Selenium(13)设置元素等待 详细介绍如何优雅的设置元素等待时间,防止程序运行过快而导致元素定位失败
Python爬虫 - Selenium(14)窗口截图 详细介绍如何使用窗口截图
Python爬虫 - Selenium(15)关闭浏览器 详细介绍两种关闭窗口的区别

到此这篇关于Selenium 安装和简单使用的实现的文章就介绍到这了,更多相关Selenium 安装使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 Python
Python PyQt5标准对话框用法示例
Aug 23 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
django允许外部访问的实例讲解
May 14 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
python中的&&及||的实现示例
Aug 07 Python
python opencv进行图像拼接
Mar 27 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
Jul 21 Python
python中温度单位转换的实例方法
Dec 27 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 #Python
Python实现中英文全文搜索的示例
Dec 04 #Python
一文带你了解Python 四种常见基础爬虫方法介绍
Dec 04 #Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 #Python
python飞机大战游戏实例讲解
Dec 04 #Python
python 根据列表批量下载网易云音乐的免费音乐
Dec 03 #Python
python中字符串的编码与解码详析
Dec 03 #Python
You might like
PHP 搜索查询功能实现
2016/11/29 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
Vue实现简单分页器
2018/12/29 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
简单谈谈javascript高级特性
2019/09/04 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
python解析文件示例
2014/01/23 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
python2.7的编码问题与解决方法
2016/10/04 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
在pycharm创建scrapy项目的实现步骤
2020/12/01 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
奖金申请报告模板
2015/05/15 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android