Selenium是一个用于Web应用程序测试的开源工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,实现自动化测试。说白了,就是个Web应用的自动化测试工具。
Web的自动化测试,因为是模拟用户操作一样,自然而然也可以把测试过程中需要的数据、信息等保存下来。所以我也用这个来下载一些公开数据(不用担心对爬虫的限制啥的)。
Selenium with Python中文文档:https://selenium-python-zh.readthedocs.io/en/latest/index.html
一、安装Selenium包
1 | pip install selenium |
如果不知道自己是否安装过,可以用以下命令:
1 | pip install -U selenium |
-U:就是 –upgrade,表示如果已安装就升级到最新版。
二、安装浏览器驱动
需要找你自己的浏览器版本对应的驱动下载。
(浏览器一般会自动更新,需要及时更换)
1.下载 WebDriver
1).Chrome WebDriver下载:
https://chromedriver.storage.googleapis.com/index.html
https://sites.google.com/a/chromium.org/chromedriver/downloads
如果用的是 Chrome115以上的版本,下载地址:
https://googlechromelabs.github.io/chrome-for-testing/
2).Edge WebDriver下载:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
3).Firefox WebDriver下载:
https://github.com/mozilla/geckodriver/releases
4).Safari WebDriver下载:
https://webkit.org/blog/6900/webdriver-support-in-safari-10/
Chrome WebDriver下载举例
第2个下载不了(需要梯子),就用1个下载地址。
比如我用的Chrome版本是:101.0.4951.54
那就直接在页面上搜 101.0.4951,然后最后一位找个小一点最接近的,比如 101.0.4951.41 这个目录点进去。
会提供 Linux、Mac、Windows系统对应的版本,比如我这是Windows系统的,就下载对应的 chromedriver_win32.zip。
解压后得到一个 chromedriver.exe 文件,随便找地方放一下(回头需要用到这个文件的路径)。
Edge WebDriver下载举例
比如我用的Edge版本是:101.0.1210.32 (正式版本) (64 位)
打开下载页后,直接看到这个版本对应有:x86、x64、Mac、Linux等系统下载。
x86是32位的,所以下载x64的版本。
把压缩包里的 msedgedriver.exe 文件解压出来就行。(回头需要用到这个文件的路径)
2.添加到系统环境变量
建个目录,把两个WebDriver文件放一起,就放在:
- G:\Python\software\webdriver\chromedriver.exe、
- G:\Python\software\webdriver\msedgedriver.exe
放好之后,将这个webdriver目录添加到系统环境变量中。
注:现在新的selenium4好像已经不支持在参数中用这个webdriver的路径了,selenium3原来是可以用的。所以建议还是添加到环境变量。
三、代码示例
Selenium用法 主要就4步:
- 1.创建WebDriver对象 webdriver.Chrome();
- 2.用WebDriver对象的get方法打开网址;
- 3.用WebDriver对象的find_element方法去找到网页上你需要的元素,返回WebElement对象(找到对象是重点);
- 4.对WebElement对象进行操作,一般就是获取对象的内容、填写入内容或者click操作。
以下代码示例用的Chrome浏览器测试,webdriver文件已添加到环境变量;如果没添加的,把driver_path 变量启用一下就行。
这种做搜索引擎站点做测试效果一般,建议用别的站点。反正一开始用的百度,还会有验证出来,所以用 time.sleep()等待了几秒。
注意:以下代码中用的Selenium为Selenium4新版用法。
1 | from selenium import webdriver |
- 本文标题:Python Selenium使用举例
- 本文作者:HDUZN
- 创建时间:2022-05-04 11:33:58
- 本文链接:http://hduzn.cn/2022/05/04/Python-Selenium使用举例/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!