杰瑞科技汇

Python安装Webdriver后为何无法使用?

  1. 安装 Python 库:主要是 selenium 库。
  2. 下载浏览器对应的 WebDriver 驱动程序:这是真正用来控制浏览器的“桥梁”。

下面我将为你提供一个详细、分步的指南,涵盖了主流浏览器(Chrome, Firefox, Edge)。

Python安装Webdriver后为何无法使用?-图1
(图片来源网络,侵删)

第一步:安装 Selenium Python 库

你需要通过 pip(Python 的包管理器)来安装 selenium 库,打开你的终端或命令提示符,运行以下命令:

pip install selenium

如果你使用的是 Python 3,并且系统中有多个 Python 版本,建议使用 pip3

pip3 install selenium

安装完成后,你就可以在 Python 代码中导入 selenium 了。


第二步:下载浏览器对应的 WebDriver 驱动

Selenium 本身不直接控制浏览器,它需要通过一个特定浏览器的驱动程序来发送指令,你需要根据你想要自动化的浏览器下载对应的驱动。

Python安装Webdriver后为何无法使用?-图2
(图片来源网络,侵删)

这里我们介绍最主流的三个浏览器:Chrome, Firefox (Gecko), 和 Edge。

使用 Google Chrome

你需要下载 ChromeDriver

推荐 - 使用 webdriver-manager 自动管理驱动(最简单!)

这是一个非常方便的库,它会自动检测你 Chrome 浏览器的版本,并下载匹配的 ChromeDriver,省去了手动下载和配置的麻烦。

Python安装Webdriver后为何无法使用?-图3
(图片来源网络,侵删)
  1. 安装 webdriver-manager

    pip install webdriver-manager
  2. 在代码中使用: 你不需要手动下载任何文件。webdriver-manager 会在运行时自动处理一切。

    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service as ChromeService
    from webdriver_manager.chrome import ChromeDriverManager
    # 创建 WebDriver 实例
    # ChromeDriverManager().install() 会自动下载并返回驱动的路径
    driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
    # 现在你可以使用 driver 了
    driver.get("https://www.google.com")
    print(driver.title)
    # 记得关闭浏览器
    driver.quit()

手动下载和配置

  1. 查看 Chrome 版本: 打开 Chrome 浏览器,点击右上角的三个点 -> 帮助 -> Google Chrome,记下你的版本号(0.6422.112)。

  2. 下载匹配的 ChromeDriver

    • 访问官方下载页面:https://googlechromelabs.github.io/chrome-for-testing/
    • 这个页面提供了不同版本的 ChromeDriver,你需要找到与你 Chrome 浏览器版本最接近的稳定版。
    • 下载 chromedriver 的对应操作系统的压缩包(win64mac-x64)。
  3. 配置环境变量(推荐方法)

    • 将下载的 chromedriver.exe (Windows) 或 chromedriver (Mac/Linux) 文件解压到一个固定位置,C:\WebDriver\chromedriver.exe
    • 将这个文件夹路径(C:\WebDriver)添加到系统的环境变量 Path 中,这样你就可以在任何地方直接调用 chromedriver
  4. 在代码中使用: 现在你可以直接在代码中实例化 webdriver.Chrome(),它会自动在系统 Path 中寻找 chromedriver

    from selenium import webdriver
    # 假设你已经将 chromedriver.exe 的路径添加到了系统 Path
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    print(driver.title)
    driver.quit()

使用 Mozilla Firefox

你需要下载 GeckoDriver

推荐 - 使用 webdriver-manager

  1. 安装 webdriver-manager

    pip install webdriver-manager
  2. 在代码中使用

    from selenium import webdriver
    from selenium.webdriver.firefox.service import Service as FirefoxService
    from webdriver_manager.firefox import GeckoDriverManager
    driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))
    driver.get("https://www.mozilla.org")
    print(driver.title)
    driver.quit()

手动下载和配置

  1. 下载 GeckoDriver

  2. 配置环境变量

    • 将下载的 geckodriver.exe (Windows) 或 geckodriver (Mac/Linux) 解压到一个固定位置(如 C:\WebDriver)。
    • 将该文件夹路径添加到系统环境变量 Path 中。
  3. 在代码中使用

    from selenium import webdriver
    driver = webdriver.Firefox()
    driver.get("https://www.firefox.com")
    print(driver.title)
    driver.quit()

使用 Microsoft Edge

你需要下载 EdgeDriver

推荐 - 使用 webdriver-manager

  1. 安装 webdriver-manager

    pip install webdriver-manager
  2. 在代码中使用

    from selenium import webdriver
    from selenium.webdriver.edge.service import Service as EdgeService
    from webdriver_manager.microsoft import EdgeChromiumDriverManager
    driver = webdriver.Edge(service=EdgeService(EdgeChromiumDriverManager().install()))
    driver.get("https://www.bing.com")
    print(driver.title)
    driver.quit()

手动下载和配置

  1. 下载 EdgeDriver

  2. 配置环境变量

    • 将下载的 msedgedriver.exe (Windows) 或 msedgedriver (Mac/Linux) 解压到一个固定位置(如 C:\WebDriver)。
    • 将该文件夹路径添加到系统环境变量 Path 中。
  3. 在代码中使用

    from selenium import webdriver
    driver = webdriver.Edge()
    driver.get("https://www.bing.com")
    print(driver.title)
    driver.quit()

总结与建议

步骤 操作 推荐方式 备注
安装库 pip install selenium 必须步骤 所有方法都需要
下载驱动 下载对应浏览器的 WebDriver 使用 webdriver-manager 强烈推荐,一劳永逸,无需手动管理版本和路径。
手动下载并配置环境变量 传统方法,适合需要精确控制驱动版本的环境。

最终建议:

对于绝大多数开发者,尤其是初学者,直接使用 webdriver-manager 是最佳选择,它极大地简化了流程,让你可以专注于编写自动化脚本本身,而不是陷入驱动版本匹配和环境配置的麻烦中。

如果你在一个企业级或 CI/CD(持续集成/持续部署)环境中,可能会要求使用特定的驱动版本,这时手动下载和配置会更可控,但即便如此,也可以结合 webdriver-managerversion 参数来指定特定版本。

分享:
扫描分享到社交APP
上一篇
下一篇