我刚刚在beaglebone机器上安装了Splinter python库。当我使用split网站上提供的例子时,我得到了一个错误。我相信我需要安装一个网络驱动程序才能工作。
有人在beaglebone arm7平台的命令行上安装了任何网络驱动程序吗?
未修改的代码
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 specifiedn"
可能有点太晚了,但以防万一:
我遇到了同样的问题,因为我没有安装Firefox。Splinter基于selenium,它使用Mozilla Firefox作为默认浏览器,因此:
- 安装Firefox
或
- 下载Chromedriver,以便硒(碎片)浏览谷歌Chrome。有关设置Chromedriver的更多信息,请参阅本讨论
希望它能有所帮助!
我不确定(我只在实际的桌面上运行过split),但我认为问题只是缺少指定的显示。当您在桌面上运行默认代码时,它会打开一个web浏览器窗口。它一定在努力做到这一点。自从你提出这个问题以来,你解决了这个问题吗?