2012-06-26 9 views
8

コンソールの下にリモコンが2つ表示されますが、リモートで接続しようとすると404で失敗します。Python経由でリモートでseleniumグリッドに接続しようとすると、404 on/wd/hub/sessionを取得する

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() 

これはPythonのエラーではありません

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

私も同様の問題があります。/wd/hub/sessionがセレンによって提供されていないか、リモートが間違った場所でリソースを探しているようです。 – munk

+1

私はPythonバインディングに慣れていないので暗闇の中でそのショットがありますが、これは接続に関連している可能性があります。私はIDE経由でグリッドに接続できますが、Hudson/Jenkinsではできませんでした。 – aimbire

+0

例からawsのURLを削除することをお勧めします...あなたが知っている、ちょうど場合:) –

答えて

2

この例外をスローします。あなたのセレンサーバーにリクエストを拒否されているマシンのようです。 エラーメッセージには、 <a href="http://jetty.mortbay.org/">Powered by Jetty://</a> がありますが、それは何とかJettyに関連していると思いました。

私は桟橋についてはよく分かりませんが、あなたの答えはそこを見たいと思うかもしれません。 可能性のある問題の1つは、Jettyがポート4444でも稼動しているということですが、Jettyの仕組みがわからないため、私は確かに言えません。

EDIT

また、私は(それに桟橋を持っていない)私のサーバの1つに、私のローカルマシン上でセットアップを試してみましたが、それは完全に罰金働いたことを追加する必要があります。

+3

私は堤防がセレンのグリッドが上に実行されるWebサーバーだと思います。 Jettyが別のプロセスとして実行されていた場合、起動時にJettyまたはグリッドがバインディングエラーを投げてポートが使用中であるとは言いませんでしたか? – munk

+0

待機、セレンのためにスタンドアロンサーバーを使用していますか? – jyapayne

+0

また、セレンのバージョンを投稿できますか? – jyapayne

1

-port 5555 

using_セレンハブを実行してみてください。そしてまたしてクライアントを構成:

-port 5555 

私はポート4444またはセレンを使用して、他のソフトウェアとの問題が正しく、そのポートで起動されていないと思います。

関連する問題