Selenium WebDriver.get (url) не открывает URL - PullRequest
31 голосов
/ 08 сентября 2011
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
import time


# Create a new instance of the Firefox driver
driver = webdriver.Firefox()


# go to the google home page
driver.get("http://www.google.com")

Это открывает окно Firefox, но не открывает URL.

  1. У меня есть прокси-сервер (но в адресной строке не отображается переданный URL)
  2. У меня есть два профиля Firefox.

Может ли 1 или 2 быть проблемой? если да, то как я могу решить это?

Ответы [ 16 ]

0 голосов
/ 27 августа 2015

A потратил много времени на эту проблему и, наконец, обнаружил, что селен 2,44 не работает с узлом версия 0,12 . Используйте версию узла 0.10.38 .

0 голосов
/ 11 июня 2015

Поскольку вы упомянули, что используете прокси, попробуйте настроить драйвер firefox с прокси, следуя приведенному здесь ответу proxy selenium python firefox

0 голосов
/ 03 июня 2014

Это сработало для меня (протестировано на Ubuntu Desktop 11.04 с Python-2.7):

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.stackoverflow.com")
0 голосов
/ 25 сентября 2013

У меня возникла проблема сохранения. Я предполагаю, что вы убедились, что ваш 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.

0 голосов
/ 14 декабря 2011

Попробуйте следующий код

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

WebDriver DRIVER = new FirefoxDriver();
DRIVER.get("http://www.google.com");
0 голосов
/ 09 сентября 2011

Пожалуйста, посмотрите на это HowTo: http://www.qaautomation.net/?p=373 Внимательно посмотрите на раздел "Создание экземпляра WebDriver"

Я думаю, что вам не хватает следующей строки кода:

wait = new WebDriverWait(driver, 30);

Поместите его между

driver = webdriver.Firefox();

и

driver.getUrl("http://www.google.com");

Не проверял, потому что в данный момент я не использую Selenium.Я знаком с Selenium 1.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...