之前我们操作的对象都是静态网页,直接查看网页源代码即可,那么近几年动态网页的占有率越来越多,通过之前的方式不是那么方便的获取动态网页的内容,所以我们这里使用selenium,他是干啥的呢,简单的你可以理解为就是一个小机器人,由你来定义他的操作,帮你完成一系列的操作,从而获取我们想要的数据。
1、介绍
1.1、动态网页是什么?
动态网页就是使用了Ajax技术的前端;
Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。(该段内容来自百度百科)
当然了,现在很多情景下,将xml换成了json,这个和我们没关系,知道即可。
我们关注的就是不需要重载整个页面,这也就意味着给无法直观的获取到请求地址和参数,通过其他方式虽然可以获取到,但是比较麻烦。
1.2、Selenium是什么?
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好的工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。(该段内容来自百度百科)
简单的来说,就是你通过Selenium来帮助你操作浏览器界面中的内容,相当于小机器人,你给他对应的指令,他帮你操作相对应的内容。
2、安装
需要安装两个东西,一个是Selenium模块,另一个就是需要根据你浏览器的版本,下载一个浏览器驱动driver,毕竟Selenium就是通过这个驱动来操控你的浏览器的。
2.1、Selenium安装
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple2.2、driver驱动安装
我们需要知道的是,这个是可变的,要根据你自己电脑上的浏览器,以及浏览器对应的具体版本,来下载对应的驱动,否则是无法生效的。不同的浏览器下载地址不同,下面列出几个常用的,可以根据自己的实际情况来下载:
谷歌Chrome兼容Selenium驱动下载地址:
https://sites.google.com/chromium.org/driver/downloads火狐Firefox兼容Selenium驱动下载地址:
https://github.com/mozilla/geckodriver/releasesEdge兼容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”,即可出现下图所示:
然后访问Chrome对应的下载地址,访问界面如下:
https://sites.google.com/chromium.org/driver/downloads出现界面之后,找到对应我们版本的(如果找不到一模一样的,可以找个极其相近的也可):
然后根据你电脑型号,比如你是windows或者linux的,选择合适自己的点击下载即可:
比如这里就是windows电脑,那么我选择chromedriver_win32.zip即可,下载完毕之后将其解压之后的文件,放置到你浏览器的安装目录即可,亦或者随便放置一个目录下,需要注意的是,该目录必须全部是英文,不能是中文。
我这里就放置到了“C:\Users\22768\Desktop\python”这个目录下。
3、使用Selenium打开浏览器
3.1、请求百度,并获取返回内容
剩余内容请转至VX公众号 “运维家” ,回复 “188” 查看。
------ “运维家” ,回复 “188” ------
------ “运维家” ,回复 “188” ------
------ “运维家” ,回复 “188” ------
运维工程师是干什么的,收单猫运维工程师,武威光伏运维工程师,西安运维交付工程师招聘,石家庄网络运维工程师招聘;
数据中心运维基础工程师,运维工程师刚进公司什么都不会,顺丰的it运维工程师,佛山IDC机房运维工程师招聘,武汉仕云运维工程师加班多吗;
运维工程师T1,设施运维工程师转型,erp运维工程师培训课题,江西环保运维工程师招聘,通富微电子桌面运维工程师;
成都科技园运维工程师招聘,运维工程师的英语怎么说,运维工程师ppt,粤电风 电运维工程师咋样,运维工程师的薪酬。