在Raspberry Pi上运行硒:可能的GeckoDriver问题

问题描述 投票:0回答:1

我对Raspberry Pi和Python还是相当陌生,并尝试运行selenium来尝试在我的PI模型B上执行一个Web自动化程序。我已经安装了所有东西,只是试图运行一个简单的命令,如:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')

这应该打开FireFox(因为我已经安装了IceWeasel),但我一直收到此错误:

Traceback (most recent call last): File "BingBotTest.py", line 3, in browser = webdriver.Firefox() 
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 142, in init self.service.start() 
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 81, in start os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

我知道我需要用于Firefox的GeckoDriver,所以我下载了它。我以为我应该下载ARM7版本的GeckoDriver。但是,当我提取它时,它不会生成可执行文件,因此可以将代码路由到该文件。有人指导吗?

python selenium firefox raspberry-pi geckodriver
1个回答
1
投票

迟到总比没有好,对吧? :D首先,如果您从第一个系列获得了Pi模型B,则armv7 geckodriver将对您不起作用。您必须编译自己的geckodriver或使用别人编译的二进制文件。我为armv6编译了geckodriver,它应该可以工作,所以您很幸运。要使它起作用,这是您必须要做的:

  1. 转到https://github.com/d0ku/GeckoDriver_ARMv6并下载特定于您的Firefox版本的geckodriver文件(您会在“发行”选项卡中找到二进制文件。

    ] >>
  2. 将其放入您的usr / bin中,您可以通过在下载的geckodriver所在的文件夹中打开终端,然后键入sudo cp ./geckodriver / usr / bin

  3. 来完成此操作

    然后您的程序应该可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.