【问题标题】:Python: Selenium unable to find a free port on UDOOPython:Selenium 无法在 UDOO 上找到空闲端口
【发布时间】: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


    【解决方案1】:

    发布此问题后,我继续玩耍。结果我也无法 ping 127.0.0.1,所以我查看了我的环回设备。

    我补充说:

    auto lo
    iface lo inet loopback
    

    到 /etc/network/interfaces 并运行:

    sudo ifup lo
    

    初始化我的环回设备。现在运行良好。

    【讨论】:

      猜你喜欢
      • 2011-03-17
      • 2018-12-08
      • 1970-01-01
      • 2016-04-10
      • 2014-10-04
      • 1970-01-01
      • 2020-11-24
      • 2021-05-26
      • 2012-10-31
      相关资源
      最近更新 更多