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 相关文章推荐
理解Python中的With语句
Feb 02 Python
详解python里使用正则表达式的全匹配功能
Oct 19 Python
python定向爬取淘宝商品价格
Feb 27 Python
python脚本生成caffe train_list.txt的方法
Apr 27 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
Mar 29 Python
Python Web程序搭建简单的Web服务器
Jul 31 Python
python3中rank函数的用法
Nov 27 Python
python实现贪吃蛇游戏源码
Mar 21 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
python中Pexpect的工作流程实例讲解
Mar 02 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
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
javascript replace方法与正则表达式
2008/02/19 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
python插入排序算法的实现代码
2013/11/21 Python
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
python实现人民币大写转换
2018/06/20 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
python解析yaml文件过程详解
2019/08/30 Python
Python定义一个函数的方法
2020/06/15 Python
RentCars.com巴西:汽车租赁网站
2016/08/22 全球购物
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
销售人员自我评价
2014/02/01 职场文书
战略合作意向书范本
2014/04/01 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
python脚本框架webpy模板控制结构
2021/11/20 Python
python中mongodb包操作数据库
2022/04/19 Python