1

我刚刚在我的 beaglebone 机器上安装了 Splinter python 库。当我使用 splinter 网站上提供的示例时,出现错误。我相信我需要安装一个网络驱动程序才能工作。

是否有人在 beaglebone arm7 平台的命令行上安装了任何 Web 驱动程序?

未修改的代码

from splinter import Browser

 with Browser() as browser:
     # Visit URL
     url = "http://www.google.com"
     browser.visit(url)
     browser.fill('q', 'splinter - python acceptance testing for web applications')
     # Find and click the 'search' button
     button = browser.find_by_name('btnG')
     # Interact with elements
     button.click()
     if browser.is_text_present('splinter.cobrateam.info'):
         print "Yes, the official website was found!"
     else:
         print "No, it wasn't found... We need to improve our SEO techniques" 

错误是

Traceback (most recent call last):
  File "http1.py", line 3, in <module>
    with Browser() as browser:
  File "build/bdist.linux-armv7l/egg/splinter/browser.py", line 44, in Browser
  File "build/bdist.linux-armv7l/egg/splinter/driver/webdriver/firefox.py", line 33, in __init__
  File "/usr/lib/python2.7/site-packages/selenium-2.33.0-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 61, in __init__
    self.binary, timeout),
  File "/usr/lib/python2.7/site-packages/selenium-2.33.0-py2.7.egg/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
    self.binary.launch_browser(self.profile)
  File "/usr/lib/python2.7/site-packages/selenium-2.33.0-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 51, in launch_browser
    self._wait_until_connectable()
  File "/usr/lib/python2.7/site-packages/selenium-2.33.0-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 90, in _wait_until_connectable
    self._get_firefox_output())
selenium.common.exceptions.WebDriverException: Message: "The browser appears to have exited before we could connect. The output was: ERROR: ld.so: object 'x_ignore_nofocus.so' from LD_PRELOAD cannot be preloaded: ignored.\nError: no display specified\n"
4

2 回答 2

2

可能为时已晚,但以防万一:

我有同样的问题,因为我没有安装 Firefox。Splinter 基于 selenium,它使用 Mozilla Firefox 作为默认浏览器,因此:

  • 安装火狐

或者

  • 下载 Chromedriver 以便 selenium (splinter) 通过 Google Chrome 浏览。有关设置 Chromedriver 的更多信息,请参阅此讨论

希望能帮助到你!

于 2014-12-02T04:34:42.857 回答
0

我不确定(我只在实际桌面上运行过 splinter),但我认为问题只是缺少指定的显示。当您在桌面上运行默认代码时,它会打开一个 Web 浏览器窗口。它必须在这里尝试相同。自从您提出问题以来,您解决了问题吗?

于 2014-03-31T18:52:31.873 回答