使用 Selenium
Posted pzk7788
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 Selenium相关的知识,希望对你有一定的参考价值。
Selenium 简介:
有时候我们在用 requests 抓取页面的时候,得到的结果可能和在浏览器中看到的不一样,在浏览器中可以看到正常显示的页面数据,但是使用 requests 得到的结果并没有。这是因为 requests 获取的都是原始的 html 文档,而浏览器中的页面则是经过 javascript 处理数据后生成的结果,这些数据的来源有多种,可能是通过 Ajax 加载的, 可能是包含在 HTML 文档中的,也可能是经过 JavaScript 和特定算法计算后生成的。不管是 Ajax 或是 JavaScript,其接口都含有很多加密参数,我们难以直接找出其规律,为了解决这些问题,我们可以直接使用模拟浏览器运行的方式来实现, 这样就可以做到在浏览器中轩到是什么样,抓取的源码就是什么样,也就是可见即可爬。这样我们就不用再去管网页内部的 JavaScript 用了什么算法渲染页面,不用管网页后台的 Ajax 接口到底有哪些参数。而 Selenium 就是 Python 提供的模拟浏览器运行的库,利用 Selenium 可以实现自动操作浏览器,如点击 、下拉 、登录等操作。
安装 Selenium 库:pip3 install selenium
安装 ChromeDriver,用来驱动 Chrome 浏览器运行:
(1) 点击 Chrome 菜单“帮助” --- “关于Google Chrome” --- 查看 Chrome 版本号 --- 根据版本号到 https://blog.csdn.net/huilan_same/article/details/51896672 下载对应的驱动
(2) 安装好之后,如果是 Linux 系统,需要把 ChromeDriver 的可执行文件配置到环境变量中;如果是 Windows 系统,直接将 chromedriver.exe 文件复制到 Python 的 Scripts 目录下
以上是关于使用 Selenium的主要内容,如果未能解决你的问题,请参考以下文章
seleniumselenium find_element()详解
SeleniumSelenium获取Network数据(高级版)
seleniumSelenium基于Python3的Web自动化测试脚本在IE上运行慢的解决方法
Selenium+Maven+Jenkins+testNg自动生成测试报告
Selenium selenium.common.exceptions.NoSuchElementException 错误将文本发送到 iframe 中的元素