Selenium WebDriver驱动程序问题Mac

时间:2019-03-22 16:43:15

标签: python macos selenium selenium-chromedriver

我试图在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:没有名为'encodings.idna'的模块”(尽管我确实有encodings模块)。 / p>

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

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

谢谢您的帮助!

2 个答案:

答案 0 :(得分:0)

使用以下命令:

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/')

答案 1 :(得分:0)

在MacO中,请按照以下步骤操作,您将设置镶边:::

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

第二次检查您的chrome的版本,并将其更新为最新版本。

第三次获取您正在使用的chrome版本的chrome驱动程序(例如我使用了84版本,因此获得了同一版本的chrome驱动程序)并将.exe文件放在/ usr / local / bin文件夹中。

如果找不到/ usr / local / bin,则转到终端类型:chflags nohidden〜/ usr

转到finder,按CMD + Shift_G并转到/ usr / local / bin路径,然后粘贴chrome驱动程序.exe文件。

现在它一定可以运行webdriver.Chrome()