一、简介
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)关闭浏览器
详细介绍两种关闭窗口的区别
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]