解决 chrome 驱动版本不匹配的问题

我在使用 python 的自动化测试工具时需要使用到 chromedriver,查询得知需要匹配当前下载的 chrome 的版本号,无奈发现 chrome 自动更新到了最新版本,网络上并不能检索到当前版本号的 chromedriver,遂查询 AI 得到以下解决方案:

在此之前确保你的 python 解释器正确下载并配置到了环境变量中

终端输入:

pip install webdriver-manager

如果你之前手动下载了不匹配的驱动,尝试自己的测试代码后仍然报错,极有可能是驱动不匹配的问题,不用担心,按照下图尝试更新 webdriver-manager,并手动删除缓存的驱动程序:

两行代码:

pip install --upgrade webdriver-manager

rm -rf ~/.wdm

下载好驱动管理器后,后续你的代码都将由此管理器来管理,不需要手动配置环境变量或是在代码中配置驱动路径,一切都由webdriver-manager管理。

不过由于使用了管理器,相应的代码中需要做出变更,具体可以查询相关文档,也可以参考我的测试代码:

import time
import re
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager

# 配置 Chrome 选项
chrome_options = Options()
#chrome_options.add_argument("--headless")  # 如果不想显示浏览器窗口,可以启用此选项
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

# 获取 ChromeDriver 的路径并输出版本号
driver_path = ChromeDriverManager().install()
print(f"使用的 ChromeDriver 路径: {driver_path}")

# 使用正则表达式提取路径中的版本号
version_match = re.search(r'(\d+\.\d+\.\d+\.\d+)', driver_path)
if version_match:
    version_info = version_match.group(1)
    print(f"自动下载的 ChromeDriver 版本号: {version_info}")
else:
    print("无法提取 ChromeDriver 版本号")

# 初始化 ChromeDriver
driver = webdriver.Chrome(service=Service(driver_path), options=chrome_options)

try:
    print("正在打开 Google...")
    driver.get('https://www.google.com')

    print("找到搜索框...")
    search_box = driver.find_element(By.NAME, 'q')
    search_box.send_keys('www.baidu.com')
    search_box.send_keys(Keys.RETURN)

    print("等待搜索结果...")
    driver.implicitly_wait(10) # 设置全局隐形等待时间,单位秒

    # 打印当前页面标题
    print("当前页面标题:", driver.title)
    time.sleep(5) # 设置短择等待时间,实际为休眠方法,单位秒

finally:
    # 关闭浏览器
    driver.quit()
    print("浏览器已关闭")

运行后会反馈给你相应下载的驱动版本号:

注:本文章不只面向 Mac 用户,此驱动管理器对其他操作系统用户依然可用。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值