一、简介
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
Centos7 查看方法
:google-chrome --version
(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)即可。
里边有四个文件,前三个对应相应的系统(不用区分64位还是32位),notes.txt
文件里说明了更新内容和支持版本
(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 安装使用内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://zxbcw.cn/post/201370/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)