Python爬虫中硒的库剖析

  介绍

这期内容当中小编将会给大家带来有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://版本/打开,如图所示:

 Python爬虫中硒的库剖析

我们可以看到个人资料路径这一项,取到路径: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_source

Python爬虫中硒的库剖析