selenium安装和python中基本使用
- 背景
- 下载和安装浏览器驱动
- 115.xx版本之前驱动下载
- 115.xx及之后的高版本驱动
- 配置浏览器驱动
- 安装selenium
- 使用selenium
- 点击按钮
- 搜索内容
背景
selenium
出现的初衷就是一个自动化测试工具,她可以打开浏览器,然后像用户一样去操作浏览器(比如点击按钮,搜索内容等)。
在使用 python 爬取网络数据时,经常会看到接口返回一些加密数据,当我们爬取对应接口数据后,往往需要想办法对其结果进行解密才能拿到最终想要的数据内容。
当程序员使用selenium打开一个浏览器窗口时,程序员可以使用代码的形式去获取这个浏览器中看到的内容来直接提取网页中的各种信息,因为此时不管程序中对接口返回的数据如何加密,最终显示在浏览器中的数据都是用户能看得懂的解密后的内容,程序员想要爬取有效信息直接爬取这些内容即可。
下载和安装浏览器驱动
这里我们选择的是 Chrome 浏览器,首先查看你本地浏览器的版本
115.xx版本之前驱动下载
115版本之前的 Chromedriver 通过 Chromedriver 淘宝镜像来找到对应版本的对应操作系统的压缩包来下载
例如这里选择的版本是 114.0.5753.90
注意:Windows不管是32位还是64位都是这个 chromedriver_win32.zip 这个包
115.xx及之后的高版本驱动
115.xx及之后版本的Chromedriver版本及对应操作系统下载地址如下:
版本号 | 驱动地址 |
---|---|
115.0.5790.170 | linux64 mac-arm64 mac-x64 win32 win64 |
116.0.5845.96 | linux64 mac-arm64 mac-x64 win32 win64 |
117.0.5938.92 | linux64 mac-arm64 mac-x64 win32 win64 |
118.0.5993.18 | linux64 mac-arm64 mac-x64 win32 win64 |
119.0.6026.0 | linux64 mac-arm64 mac-x64 win32 win64 |
注意:因为这里没有我需要的
118.0.5993.89
版本,所以就选择一个最相近的版本118.0.5993.18
配置浏览器驱动
配置过程很简单,只需要将驱动器下载后的内容解压,将其中的 chromedriver.exe
文件放在 python 解析器所在的文件夹中即可。
如何查看你的python解析器的位置呢?使用vscode执行一个.py文件:
执行时编辑器就会提示你,解析你的 .py
文件的 python 解析器的位置所在
安装selenium
在 vscode 中打开一个终端直接输入命令
pip install selenium
使用selenium
创建一个 .py
文件
# /index.py
from selenium.webdriver import Chrome
# 1.创建浏览器对象
web = Chrome()
# 2.打开一个网址
web.get('http://www.baidu.com')
input() # 防止页面自动关闭
注意:我本地浏览器版本是
118.0.5993.89
,驱动版本是118.0.5993.18
,版本没有完全对应,可能会导致打开的页面出现闪退,所以在程序里加上一个input()
防止闪退(盲猜是这个原因,如果你有更好的解决方式,欢迎留言 Thanks♪(・ω・)ノ)。
点击按钮
点击 www.baidu.com
首页中的 “换一换” 按钮
# /index.py
from selenium.webdriver import Chrome
web = Chrome()
web.get('http://www.baidu.com')
el = web.find_element('class name', 'hot-refresh-text')
el.click()
input()
搜索内容
搜索“周杰伦”获取搜索结果
# /index.py
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
web = Chrome()
web.get('http://www.baidu.com')
el = web.find_element('id', 'kw').send_keys('周杰伦', Keys.ENTER)