【问题标题】:Selenium WebDriver driver issue MacSelenium WebDriver 驱动程序问题 Mac
【发布时间】:2019-08-13 17:06:00
【问题描述】:

我正在尝试在 Mac 上使用 Selenium,但我遇到了一些关于驱动程序的问题。 这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import pandas as pd

driver = webdriver.Chrome()

我已经下载了 chromedriver 并将文件放在我的路径中。但是,当我尝试启动 WebDriver 实例时,出现以下错误:

WebDriverException: 'geckodriver' executable needs to be in PATH. 

所以经过大量研究后,我尝试了这个:

chromedriver = "/Users/luka1/chromedriver"
driver = webdriver.Chrome(chromedriver)

但是在这里我又遇到了一个错误:

LookupError: unknown encoding: idna

所以我再次查看,显然解决方案是导入 encodings.idna,但是当我尝试这样做时,我得到“ModuleNotFoundError: No module named 'encodings.idna'”(我确实有 encodings 模块)。

我不知道如何解决这个问题,因为我知道 chromedriver 确实是我的路径,而其他所有解决方案都失败了。然而,代码在我的电脑上运行得很好。我还尝试了 gecko 驱动程序,以防它只是 Chrome 的问题,但我有同样的问题。

我使用 Anaconda,并且我拥有 Mac OS Mojave 10.14.3 版本。

感谢您的帮助!

【问题讨论】:

  • 欢迎来到 SO。检查这个github.com/SeleniumHQ/selenium/wiki/ChromeDriver
  • geckodriver 指的是 Firefox。你安装了火狐吗?我知道您正在尝试使用 Chrome,但 Selenium 默认使用 Firefox。
  • 我遇到了类似的问题,将驱动程序放在与 python 文件相同的文件夹中并像那样运行它(没有路径);)如果它解决了您的问题,那么您的路径有问题: )
  • @StyleZ 感谢您的提示,但我已经尝试过了,但它不起作用???? RKelley 是的,我安装了 Firefox,但效果不佳
  • 你安装了idna吗?

标签: python macos selenium selenium-chromedriver


【解决方案1】:

使用以下命令:

brew install chromedriver

这应该将 chromedriver 放在你的路径中。

使用以下代码:

from selenium import webdriver

PROJECT_ROOT_DIR_PATH = os.path.abspath(os.path.dirname(__file__))
DRIVER_BIN_PATH = os.path.join(PROJECT_ROOT_DIR_PATH, "driver_Location/chromedriver_for_mac")

driver = webdriver.Chrome(executable_path = DRIVER_BIN_PATH)
driver.get('https://www.google.com/')

【讨论】:

  • 感谢您的回答,但是当我这样做时,我得到了错误:错误:'/usr/local/bin/chromedriver' 似乎已经有一个二进制文件;不链接。这意味着我确实将文件放在了正确的目录中......我真的不明白发生了什么
  • 我还删除了我最初在路径中复制的文件并尝试使用 Brew 安装,但仍然无法正常工作
【解决方案2】:

在 MacOs 中按照步骤操作,您将获得 chrome 设置 ::

首先检查是否有任何防病毒软件正在运行。如果是这样,请禁用它。

再次检查您的 chrome 的版本,并将其更新到您的电脑中。

第三次获取你正在使用的 chrome 版本的 chrome 驱动程序(就像我使用的是 84 版,所以得到了相同版本的 chrome 驱动程序)并将 .exe 文件放在 /usr/local/bin 文件夹中。

如果你找不到 /usr/local/bin 然后去终端类型:: chflags nohidden ~/usr

转到查找器,按 CMD+Shift_G 并转到 /usr/local/bin 路径,现在粘贴 chrome 驱动程序 .exe 文件。

现在它肯定会运行 webdriver.Chrome()

【讨论】:

    猜你喜欢
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 2015-05-21
    相关资源
    最近更新 更多