Selenium似乎起作用,但是随后出现超时错误?

问题描述

|
$ java -jar selenium-server-standalone-2.0b3.jar 

00:17:03.883 INFO - Java: Sun Microsystems Inc. 19.0-b09
00:17:03.885 INFO - OS: Linux 2.6.32-305-ec2 i386
00:17:03.889 INFO - v2.0 [b3],with Core v2.0 [b3]
00:17:04.501 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
00:17:04.530 INFO - Version Jetty/5.1.x
00:17:04.531 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
00:17:04.532 INFO - Started HttpContext[/selenium-server,/selenium-server]
00:17:04.532 INFO - Started HttpContext[/,/]
00:17:04.614 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@13c5982
00:17:04.614 INFO - Started HttpContext[/wd,/wd]
00:17:04.618 INFO - Started SocketListener on 0.0.0.0:4444
00:17:04.618 INFO - Started org.openqa.jetty.jetty.Server@1ffb8dc
当我运行此脚本时:
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Remote(\'http://localhost:4444/wd/hub\',{\'browser_name\':\'firefox\',\'platform\':\'ANY\',\'version\':\'\',\'javascript_enabled\':True})
browser.get(\"http://www.yahoo.com\")
Selenium服务器似乎一开始就可以工作:
00:17:08.776 INFO - Executing: [new session: {platform=ANY,browser_name=firefox,javascript_enabled=true,version=}] at URL: /session)
但是然后我得到一个python错误
Traceback (most recent call last):
  File \"fb2.py\",line 13,in <module>
    browser = webdriver.Remote(\'http://localhost:4444/wd/hub\',\'javascript_enabled\':True})
  File \"/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py\",line 60,in __init__
    self.start_session(desired_capabilities,browser_profile)
  File \"/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py\",line 96,in start_session
    \'desiredCapabilities\': desired_capabilities,File \"/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py\",line 142,in execute
    self.error_handler.check_response(response)
  File \"/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/errorhandler.py\",line 100,in check_response
    raise exception_class(message)
selenium.common.exceptions.WebDriverException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms
    

解决方法

        看起来您正在使用Selenium Grid。网格由集线器和与其连接的节点组成。运行测试时,您会向服务器发送一个请求,服务器根据您在desirable_capabilities中定义的内容将请求相应地分派给具有适当配置的主机。在这种情况下,您似乎没有在任何地方启动节点。 您似乎无法启动节点。我也相信使用WebDriver需要Grid 2.0。据我了解,您使用的内部版本仅对RC API具有网格支持。如果下载并编译当前主干,则可以使用以下指南: http://code.google.com/p/selenium/wiki/Grid2