2012-06-26 7 views
8

Widzę dwa piloty pod konsolą, ale kiedy próbuję się połączyć zdalnie i wykonać coś, zawiedzie się z 404.Uzyskiwanie dostępu do 404/wd/hub/session przy próbie zdalnego połączenia z siecią selenową za pośrednictwem Pythona

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

Zgłasza wyjątek ten

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

Mam podobny problem. Wydaje się, że albo/wd/hub/session nie jest obsługiwane przez selen, albo Remote szuka zasobu w niewłaściwym miejscu. – munk

+1

To strzał w ciemno, ponieważ nie jestem zaznajomiony z powiązaniami Pythona, ale może to być związane z połączeniem, mam kilka problemów, gdzie mógłbym połączyć się z siecią przez IDE, ale nie było to możliwe na Hudson/Jenkins. – aimbire

+0

Polecam usunąć adres urs z przykładu ... wiesz, na wszelki wypadek :) –

Odpowiedz

2

To nie wydaje się być błąd pyton. Wygląda na to, że maszyna, na której masz serwer selenowy, odrzuca prośby. W komunikacie o błędzie masz <a href="http://jetty.mortbay.org/">Powered by Jetty://</a> , co sprawiło, że pomyślałem, że jest on w jakiś sposób powiązany z Jetty.

Nie wiem zbyt wiele o Jetty, ale możesz tam zajrzeć do swoich odpowiedzi. Jednym z możliwych problemów jest to, że Jetty działa również na porcie 4444, ale nie mogę powiedzieć na pewno, ponieważ nie wiem, jak działa Jetty.

EDIT

Należy również dodać, że próbowałem konfiguracji na moim komputerze lokalnym, do jednego z moich serwerów (czyli nie ma Jetty na nim) i to działało perfekcyjnie.

+3

Myślę, że Jetty jest serwerem, na którym działa siatka selenowa. Jeśli Jetty działał jako oddzielny proces, czy Jetty lub siatka nie popełniłby błędu podczas uruchamiania, mówiąc, że port jest w użyciu? – munk

+0

Czekaj, czy korzystasz z oddzielnego serwera dla selenu? – jyapayne

+0

Możesz również zamieścić swoją wersję selenową? – jyapayne

1

Spróbuj uruchomić hub selenu using_

-port 5555 

a następnie skonfigurować klientom również:

-port 5555 

myślę jest problem z innym oprogramowaniem z wykorzystaniem portu 4444 lub selenu nie jest prawidłowo rozpoczynając w tym porcie .

Powiązane problemy