Geckodriver和Firefox在Raspberry Pi 3上是否兼容?

时间:2018-03-10 12:17:32

标签: selenium firefox web-scraping raspberry-pi geckodriver

我正在尝试安装一个在我的Raspberry Pi 3上进行网页抓取的小程序。

使用Ubuntu 16.04,我的笔记本电脑上的程序运行正常。我知道它在我的Raspberry Pi 3上不起作用的原因与Geckodriver和Firefox-ESR之间的兼容性问题有关。我正在使用最新版本。

是否有Geckodriver和Firefox的存储库版本组合可以使用?

是否有另一种浏览器和网络驱动程序组合可以在Raspberry Pi 3上使用selenium进行网页抓取?

非常感谢您的反馈!

环境

  • 操作系统:Raspbian GNU / Linux 9(拉伸)内核:Linux 4.9.59-v7 +
  • ARMv7 Processor rev 4(v7l)
  • Python 2.7.13
  • Selenium 3.10.0
  • Firefox ESR 52.6.0(32位)
  • Geckodriver 0.19.1

输入

import os
import sys
import time
import selenium

# The BeautifulSoup module
from bs4 import BeautifulSoup

# The selenium module
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# Using Firefox normally (browser pops up)
driver = webdriver.Firefox() 

此时Firefox窗口打开并保持空白。一段时间后,python在控制台

中给出了下面的输出

输出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 162, in __init__
    keep_alive=True)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 154, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 243, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: connection refused

2 个答案:

答案 0 :(得分:0)

按照上面的问题,我开始安装以前的geckodriver版本,希望找到一个与Firefox ESR 52.6.0(32位)兼容的版本。

令我惊讶的是, geckodriver 0.16.1 适用于 Firefox ESR 52.6.0(32位) !!!

我花了很多时间试图解决这个问题...我希望它可以帮助处于同样情况的人!

:)

我现在唯一的问题是Firefox无法工作。我想知道这是否与我使用旧版geckodriver这一事实有关......但是,这是另一个问题!

答案 1 :(得分:-1)

raspberry pi 3目前仅支持硒2.53.5