学习Python中Selenium模块的基本用法(2:下载浏览器驱动)
WebDriver是Selenium模块最重要的组件之一,其支持通过编程接口控制浏览器行为,发送指令到浏览器驱动,实现点击、输入、导航等真实用户操作。不同的浏览器对应不同的WebDriver,参考文献8中介绍了常用浏览器的WebDriver下载和使用方式。
测试过程中首先尝试下载chrome浏览器的WebDriver,但是搜索到的参考文献5无法访问,参考文献4中的WebDriver版本与chrome最新版本号差距较大,因此无法基于chrome验证Selenium模块功能(写本文时发现参考文献8中提供的下载网页可用,且与chrome最新版本接近,有需要的可以访问参考文献9下载),最终使用火狐浏览器。
基于参考文献6下载并安装最新版本的火狐浏览器,然后在参考文献7中下载最新版本的、与操作系统相匹配的geckodriver,如下图所示,本文下载图中划红线的版本,将其解压并放在本机Python安装目录下的Scripts文件夹内(也可以放置在任意文件夹,然后在全局变量PATH中添加该路径)。
打开命令行运行geckodriver --version,检查geckodriver是否能正常运行及版本号,如下图所示:
最后简单验证geckodriver 是否可用,下面的测试代码基于Selenium模块使用百度搜索并打开DeepSeek官网,代码运行效果如下图所示:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time# 打开百度网址
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")time.sleep(2)# 查找搜索框并输入DeepSeek官网,然后模拟按回车键
search_box = driver.find_element(By.ID, "kw") # 百度搜索框的ID为"kw"
search_box.send_keys("DeepSeek官网")
search_box.send_keys(Keys.RETURN)time.sleep(3)# 找到第一个结果并点击跳转
first_result = driver.find_element(By.CSS_SELECTOR, "div.result:first-child h3 a")
first_result.click()
参考文献:
[1]https://www.selenium.dev/zh-cn/
[2]https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/
[3]https://blog.csdn.net/kk_lzvvkpj/article/details/148610502
[4]https://registry.npmmirror.com/binary.html?path=chromedriver/
[5]https://chromedriver.chromium.org/
[6]https://www.firefox.com.cn/
[7]https://github.com/mozilla/geckodriver/releases/
[8]https://www.cnblogs.com/sunisnyu/p/18442541
[9]https://googlechromelabs.github.io/chrome-for-testing/#stable