【发布时间】:2014-02-02 00:47:13
【问题描述】:
我刚开始玩 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 中的环境变量问题。不幸的是,该帖子中的解决方案不适用于这种情况,因为我正在从命令行执行脚本。
笔记本电脑(成功环境): Dell Latitude E6520、Ubuntu 12.04、Intel Core i5
开发板(环境不成功): UDOO Quad、Debian 7(wheezy)、ARM 处理器
有什么想法吗?您需要任何其他信息来帮助诊断问题吗?
谢谢, 本
【问题讨论】:
标签: python sockets selenium debian