[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhwW6kOo-1655344062971)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlB84675Kkxk47S4gWrX3sFvllONGt6NJicCEqVyhEHCSt7jhItNYEHaQ/640?wx_fmt=jpeg)]

之前我们操作的对象都是静态网页,直接查看网页源代码即可,那么近几年动态网页的占有率越来越多,通过之前的方式不是那么方便的获取动态网页的内容,所以我们这里使用selenium,他是干啥的呢,简单的你可以理解为就是一个小机器人,由你来定义他的操作,帮你完成一系列的操作,从而获取我们想要的数据。

1、介绍

1.1、动态网页是什么?

动态网页就是使用了Ajax技术的前端;

AjaxAsynchronous Javascript And XML(异步JavaScriptXML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTMLXHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。(该段内容来自百度百科)

当然了,现在很多情景下,将xml换成了json,这个和我们没关系,知道即可。

我们关注的就是不需要重载整个页面,这也就意味着给无法直观的获取到请求地址和参数,通过其他方式虽然可以获取到,但是比较麻烦。

1.2、Selenium是什么?

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11)Mozilla FirefoxSafariGoogle ChromeOperaEdge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好的工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。(该段内容来自百度百科)

简单的来说,就是你通过Selenium来帮助你操作浏览器界面中的内容,相当于小机器人,你给他对应的指令,他帮你操作相对应的内容。

2、安装

需要安装两个东西,一个是Selenium模块,另一个就是需要根据你浏览器的版本,下载一个浏览器驱动driver,毕竟Selenium就是通过这个驱动来操控你的浏览器的。

2.1、Selenium安装

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

2.2、driver驱动安装

我们需要知道的是,这个是可变的,要根据你自己电脑上的浏览器,以及浏览器对应的具体版本,来下载对应的驱动,否则是无法生效的。不同的浏览器下载地址不同,下面列出几个常用的,可以根据自己的实际情况来下载:

谷歌Chrome兼容Selenium驱动下载地址:

https://sites.google.com/chromium.org/driver/downloads

火狐Firefox兼容Selenium驱动下载地址:

https://github.com/mozilla/geckodriver/releases

Edge兼容Selenium驱动下载地址:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Safari兼容Selenium驱动下载地址:

https://webkit.org/blog/6900/webdriver-support-in-safari-10/

实操一个吧,比如我自己使用的是Chrome浏览器,而且版本是版本 102.0.5005.63(正式版本) (64 位)

如何查看Chrome版本呢,点击右上角的“三个点”–>“帮助”–>“关于Google Chrome”,即可出现下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fqirbyxs-1655344062972)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlevOiaVDCn0HezLcpfibxCzZjbmxiaBqC9xpCoyqdXPPhZHIibvQfSnxKNA/640?wx_fmt=jpeg)]

然后访问Chrome对应的下载地址,访问界面如下:

https://sites.google.com/chromium.org/driver/downloads

出现界面之后,找到对应我们版本的(如果找不到一模一样的,可以找个极其相近的也可):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s07dpynO-1655344062974)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlG1deKfZM6hXuLlvft7n3plvwCOdgpB58MfR3PvFx9YkNlgUcibBD4Jg/640?wx_fmt=jpeg)]

然后根据你电脑型号,比如你是windows或者linux的,选择合适自己的点击下载即可:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orpGV25Q-1655344062975)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlK21q2tbnaD4QEspzy14Yb0v9nGGEZjuKGIz6WyNxZAxzq1IUzcJW9g/640?wx_fmt=jpeg)]

比如这里就是windows电脑,那么我选择chromedriver_win32.zip即可,下载完毕之后将其解压之后的文件,放置到你浏览器的安装目录即可,亦或者随便放置一个目录下,需要注意的是,该目录必须全部是英文,不能是中文。

我这里就放置到了“C:\Users\22768\Desktop\python”这个目录下。

3、使用Selenium打开浏览器

3.1、请求百度,并获取返回内容

剩余内容请转至VX公众号 “运维家” ,回复 “188” 查看。

------ “运维家” ,回复 “188” ------
------ “运维家” ,回复 “188” ------
------ “运维家” ,回复 “188” ------

运维工程师是干什么的,收单猫运维工程师,武威光伏运维工程师,西安运维交付工程师招聘,石家庄网络运维工程师招聘;
数据中心运维基础工程师,运维工程师刚进公司什么都不会,顺丰的it运维工程师,佛山IDC机房运维工程师招聘,武汉仕云运维工程师加班多吗;
运维工程师T1,设施运维工程师转型,erp运维工程师培训课题,江西环保运维工程师招聘,通富微电子桌面运维工程师;
成都科技园运维工程师招聘,运维工程师的英语怎么说,运维工程师ppt,粤电风 电运维工程师咋样,运维工程师的薪酬。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐