这期内容当中小编将会给大家带来有Python爬关虫中硒的库剖析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
硒是一个用于测试网络应用程序的框架,该框架测试直接在浏览器中运行,就像真实用户操作一样。它支持多种平台:Windows、Linux、Mac,支持多种语言:Python、Perl、PHP、c#等,支持多种浏览器:Chrome, IE, Firefox, Safari等。
<强> 1安装强>
(1)安装硒
pip install 硒
(2)安装WebDriver
主要浏览器WebDriver地址如下:
铬:http://chromedriver.storage.googleapis.com/index.html
Firefox: https://github.com/mozilla/geckodriver/releases/
即:http://selenium-release.storage.googleapis.com/index.html
本文以铬为例,本机为Windows系统,WebDriver使用版本78.0.3904.11,Chrome浏览器版本为78.0.3880.4驱动程序下载好后解压,将chromedriver。exe放到Python安装目录下即可。
<强> 2操作浏览器强>
<强> 2.1打开浏览器强>
(1)普通方式
以打开去邮163箱为例,使用Chrome浏览器
得到selenium import webdriver 时间=browser webdriver.Chrome () browser.get (& # 39; https://mail.163.com/& # 39;)
使用Firefox浏览器
得到selenium import webdriver 时间=browser webdriver.Firefox () browser.get (& # 39; https://mail.163.com/& # 39;)
使用IE浏览器
得到selenium import webdriver 时间=browser webdriver.Ie () browser.get (& # 39; https://mail.163.com/& # 39;)
(2)加载配置方式
以铬为例,在Chrome浏览器地址栏输入Chrome://版本/打开,如图所示:
我们可以看到个人资料路径这一项,取到路径:C: \ admin \ AppData \ \用户本地\谷歌Chrome \ \用户数据,取到用户数据使用自己设置的配置,取到违约使用默认配置。看下示例:
得到selenium import webdriver 时间=option webdriver.ChromeOptions () #,自己的数据目录(需要将复制的路径中的,\,替换成,/,或进行转义,\ \) #,option.add_argument (& # 39;——user-data-dir=C:/用户/admin/AppData/地方/谷歌Chrome/User 数据# 39;) option.add_argument (& # 39;——user-data-dir=C: \ \ \ \管理\ \用户AppData谷歌当地\ \ \ \ \ \ \ \ User 铬;数据# 39;) 时间=browser webdriver.Chrome (chrome_options=选项) browser.get (& # 39; https://mail.163.com/& # 39;) #,关闭 browser.quit ()
如果执行时报错没有打开指定页面,可先将浏览器关闭再执行。
(3)无头方式
前两种方式都是有浏览器界面的方式,无头模式是Chrome浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有铬支持的特性运行我们的程序。这种方式更加方便测试网络应用,获得网站的截的图,做爬虫抓取信息等。看下示例:
得到selenium import webdriver 时间=chrome_options webdriver.ChromeOptions () #,使用,headless 无界面浏览器模式 chrome_options.add_argument(& # 39;——无头# 39;) #,禁用,gpu 加速 chrome_options.add_argument (& # 39;——disable-gpu& # 39;) #,启动浏览器,获取网页源代码 时间=browser webdriver.Chrome (chrome_options=chrome_options) 时间=url & # 39; https://mail.163.com/& # 39; browser.get (url) 打印(& # 39;browser text =, & # 39;, browser.page_source) browser.quit ()
<强> 2.2设置浏览器窗口强>
最大化显示
browser.maximize_window ()
最小化显示
browser.minimize_window ()
自定义大小
#,宽,500高,800 browser.set_window_size (500800)
<强> 2.3前进后退强>
前进
browser.forward ()
后退
browser.back ()
<强> 3元素定位强>
当我们想要操作一个元素时,首先需要找到它,硒提供了多种元素定位方式,我们以铬浏览器无头方式为例。看下示例:
得到selenium import webdriver 时间=chrome_options webdriver.ChromeOptions () chrome_options.add_argument(& # 39;——无头# 39;) chrome_options.add_argument (& # 39;——disable-gpu& # 39;), 时间=browser webdriver.Chrome (chrome_options=chrome_options) 时间=url & # 39; https://xxx.xxx.com/& # 39; browser.get (url) 时间=data 浏览器。page_sourcePython爬虫中硒的库剖析