我试图在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版本。
谢谢您的帮助!
答案 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()