我可以在控制台下看到两个遥控器,但是当我尝试远程连接并执行某些操作时,它会因404而失败。
from selenium import webdriver
browser = webdriver.Remote(
command_executor='http://ec2-184-72-129-183.compute-1.amazonaws.com:4444/wd/hub',
desired_capabilities={'browserName': 'firefox'})
browser.get('http://www.google.com')
browser.quit()
引发此异常
Traceback (most recent call last):
File "browser-shot.py", line 16, in <module>
desired_capabilities={'browserName': 'firefox'})
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 62, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 104, in start_session
'desiredCapabilities': desired_capabilities,
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 155, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 125, in check_response
raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message: '<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>\n<title>Error 404 </title>\n</head>\n<body><h2>HTTP ERROR: 404</h2><pre>NOT_FOUND</pre>\n<p>RequestURI=/wd/hub/session</p><p><i><small><a href="http://jetty.mortbay.org/">Powered by Jetty://</a></small></i></p><br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n<br/> \n\n</body>\n</html>\n'
答案 0 :(得分:2)
这似乎不是python错误。你的selenium服务器上的机器似乎就是拒绝请求。
在错误消息中,您有一个
<a href="http://jetty.mortbay.org/">Powered by Jetty://</a>
这让我觉得它与Jetty有某种联系。
我对Jetty了解不多,但你可能想看看那里的答案。 一个可能的问题是Jetty也在端口4444上运行,但我不能肯定地说,因为我不知道Jetty是如何工作的。
修改
我还应该补充一点,我尝试在我的本地计算机上安装到我的一台服务器(没有Jetty)并且它工作得很好。
答案 1 :(得分:1)
尝试使用_
运行selenium hub-port 5555
然后配置客户端:
-port 5555
我认为使用端口4444或selenium的其他软件无法正确启动该端口的问题。