У меня возникла проблема сохранения. Я предполагаю, что вы убедились, что ваш Java-сервер работал до того, как вы запустили свой скрипт на Python? Сервер java можно загрузить из списка загрузки selenium .
Когда я сделал netstat для оценки открытых портов, я заметил, что java-сервер не работал на определенном "localhost"
хосте:
Когда я запустил сервер, я обнаружил, что номер порта был 4444 :
$ java -jar selenium-server-standalone-2.35.0.jar
Sep 24, 2013 10:18:57 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
22:19:03.393 INFO - Java: Apple Inc. 20.51-b01-456
22:19:03.394 INFO - OS: Mac OS X 10.8.5 x86_64
22:19:03.418 INFO - v2.35.0, with Core v2.35.0. Built from revision c916b9d
22:19:03.681 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
22:19:03.683 INFO - Version Jetty/5.1.x
22:19:03.683 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
22:19:03.685 INFO - Started HttpContext[/selenium-server,/selenium-server]
22:19:03.685 INFO - Started HttpContext[/,/]
22:19:03.755 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@21b64e6a
22:19:03.755 INFO - Started HttpContext[/wd,/wd]
22:19:03.765 INFO - Started SocketListener on 0.0.0.0:4444
Мне удалось просмотреть порты прослушивания и их номера портов (опция -n), выполнив в терминале следующую команду:
$netstat -an | egrep 'Proto|LISTEN'
Это дало мне следующий вывод
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp46 0 0 *.4444 *.* LISTEN
Я понял, что это может быть проблемой, потому что утилиты сокета selenium, найденные в: webdriver / common / utils.py, пытаются подключиться через "localhost" или 127.0.0.1:
socket_.connect(("localhost", port))
как только я изменил localhost на '' (пустые одинарные кавычки для представления всех локальных адресов), он начал работать. Итак, теперь предыдущая строка из utils.py выглядит так:
socket_.connect(('', port))
Я использую MacOs и Firefox 22. Последняя версия Firefox на момент написания этой статьи - 24, но я слышал, что в этой версии есть некоторые проблемы с безопасностью, которые могут блокировать некоторые функции Селена (я не проверял это) , Несмотря на это, по этой причине я использую старую версию Firefox.