我刚刚开始玩UDOO(一种类似于Raspberry Pi的单板计算机)。我有一些代码,我试图让一些测试代码工作,没有任何运气。
以下代码适用于我的Ubuntu笔记本电脑。
#!/usr/bin/env python
import timeit
def test():
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from pyvirtualdisplay import Display
import time
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.google.com')
q = browser.find_element_by_name('q')
q.send_keys("python")
q.send_keys(Keys.ENTER)
time.sleep(4)
results = browser.find_elements_by_class_name('g')
for result in results:
try:
print '-' * 80
print result.text
except:
pass
browser.close()
display.stop()
return 0
print(timeit.timeit("test()", setup="from __main__ import test", number=10))
但是,当我在UDOO板上运行相同的文件时,会收到以下错误消息:
Traceback (most recent call last):
File "./selenium_test.py", line 36, in <module>
test()
File "./selenium_test.py", line 16, in test
browser = webdriver.Firefox()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
self.binary, timeout),
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 41, in __init__
PORT = utils.free_port()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/utils.py", line 27, in free_port
free_socket.bind(('127.0.0.1', 0))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address
我在笔记本电脑上进行了一些测试,在正常情况下,free_port()会很快返回系统上的开放端口。当我在UDOO板上执行相同的测试时,它每次都会崩溃。
这是与此帖(PyCharm unable to connect to GhostDriver)类似的问题,最终成为PyCharm中的环境变量问题。不幸的是,该帖子中的解决方案不适用于这种情况,因为我正在从命令行执行脚本。
笔记本电脑(成功环境):戴尔Latitude E6520,Ubuntu 12.04,英特尔酷睿i5
开发板(环境不成功):UDOO Quad,Debian 7(wheezy),ARM处理器
有什么想法吗?您是否需要任何其他信息来帮助诊断问题?
谢谢, 本
答案 0 :(得分:4)
在发布这个问题之后我继续玩。事实证明我无法ping 127.0.0.1所以我查看了我的环回设备。
我补充说:
auto lo
iface lo inet loopback
到/ etc / network / interfaces并运行:
sudo ifup lo
初始化我的环回设备。它现在运行得很好。