Selenium 无法正常工作 Mac [重复]

Posted

技术标签:

【中文标题】Selenium 无法正常工作 Mac [重复]【英文标题】:Selenium not working Mac [duplicate] 【发布时间】:2018-07-02 14:04:57 【问题描述】:

我刚刚开始学习使用 selenium 进行网页抓取。我不确定为什么会出现以下错误。我已经分享了下面的图片。 以下代码似乎不起作用。

chrome_path = r"\\Users\\prateek\\Desktop\\MSc\\MWA\\chromedriver.exe"

browser = webdriver.Chrome(chrome_path)

 # the url we want to open
url = u'https://www.currys.co.uk/gbuk/phones-broadband-and-sat-nav/mobile-phones-and-accessories/mobile-phones/apple-iphone-8-64-gb-space-grey-10168742-pdt.html?intcmpid=display~RR'

 # the browser will start and load the webpage
 browser.get(url)

还有更多,但这似乎不起作用 我得到的错误 Error I'm getting

【问题讨论】:

请不要发布错误图片。花点时间复制、过去和格式化错误。此外,该站点上必须有数十个“chromedriver must be in path”问题。我建议你做更多的研究,并分享你学到的东西。 描述一切的错误本身 【参考方案1】:

Python 的 r"" 文字语法会自动转义所有斜杠,这就是为什么它更适合用于文件路径等内容。

尝试使用

chrome_path = r"\Users\prateek\Desktop\MSc\MWA\chromedriver.exe"

【讨论】:

另外,Mac 上的可执行文件通常没有 .exe 扩展名,你有正确版本的 chromedriver 吗? 哦。这可能是问题所在。不要认为 .exe 扩展名是问题所在。 @Hans Z,我确实尝试过,但它似乎不起作用。给出同样的错误【参考方案2】:

使用chromedriver 二进制文件来初始化MAC OSX 上的Chrome Web 浏览器,您需要传递参数executable_path 以及chromedriver 二进制文件的绝对路径在单引号\ 前面加上原始开关r如下:

driver = webdriver.Chrome(executable_path=r'\Users\prateek\Desktop\MSc\MWA\chromedriver')

【讨论】:

@paddy 对此/任何对您有用/对您有用的答案,以造福未来的读者。【参考方案3】:

来自chromedriver getting started,在设置部分中指出:

帮助 WebDriver 找到下载的 ChromeDriver 可执行文件

这些步骤中的任何一个都可以解决问题:

    在 PATH 环境变量中包含 ChromeDriver 位置 在实例化 webdriver.Chrome 时包含 ChromeDriver 的路径(参见下面的示例)

您正在尝试使用 2 选项,但您传递了错误文件的路径(.exe 文件,当然,在 macOS 中不可执行)。

所以,首先你必须(从here)下载正确的chromedriver。

假设您使用当前最新的 chrome 版本作为浏览器,您必须从 2.35 (https://chromedriver.storage.googleapis.com/index.html?path=2.35/) 下载 chromedriver_mac64.zip,将其解压并将解压后的可执行文件的路径插入你的代码。

例如:

driver = webdriver.Chrome(executable_path=r'/yourPath2/chromedriver')
driver.get("https://www.currys.co.uk/gbuk/phones-broadband-and-sat-nav/mobile-phones-and-accessories/mobile-phones/apple-iphone-8-64-gb-space-grey-10168742-pdt.html?intcmpid=display~RR")

请注意您的 chrome 浏览器版本,因为 chromedriver 可能不支持。您可以通过release notes了解这一点。

【讨论】:

嗨,我已经做到了。我下载了 chromedriver_mac64.zip,它仍然给我同样的错误。无法弄清楚它为什么这样做。 您必须提取 .zip 并在代码中插入提取文件的路径

以上是关于Selenium 无法正常工作 Mac [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Selenium webdriver python元素屏幕截图无法正常工作

无法在 Mac 上设置 ruby​​-selenium Webdriver

无法在 pycharm 上运行简单的 webdriver - mac [重复]

send_keys 无法正常工作(Twitter 使用 Selenium 自动发送消息)

在 selenium java 中单击下载按钮无法正常工作

使用 selenium 将 python 从 mac 迁移到 pc