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 ]

16 голосов
/ 15 мая 2012

Это дефект селена .
У меня та же проблема в Ubuntu 12.04 за прокси.

Проблема в неправильной обработке исключений прокси. Исключения Ubuntu по умолчанию находятся в no_proxy переменной среды:

no_proxy=localhost,127.0.0.0/8

Но, похоже, маска / 8 не работает для селена. Чтобы обойти проблему, достаточно изменить no_proxy на следующее:

no_proxy=localhost,127.0.0.1

Удаление настроек прокси перед запуском скрипта Python также помогает:

http_proxy= python script.py
9 голосов
/ 26 мая 2015

Я столкнулся с точно такой же проблемой, после того, как некоторое время просматривал, узнал, что это в основном проблема совместимости версий bt firefox и selenium.Я получил последнюю версию Firefox, но мой импортированный Selenium был старше, что вызывает проблему.Проблема была решена после обновления selenuim

pip install -U selenium

ОС: Windows Python 2.7

1 голос
/ 04 ноября 2014

Я решил эту проблему.

Если ваши файлы jar старше последней версии, а браузер обновился до последней версии, загрузите:

1 голос
/ 04 июня 2013
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
driver.get("http://www.google.com");

OR

import org.openqa.selenium.support.ui.ExpectedConditions;

WebDriverWait wait = new WebDriverWait(driver,30);
driver.get("http://www.google.com");
//hplogo is the id of Google logo on google.com
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("hplogo")));
1 голос
/ 22 сентября 2012

@ Neeraj

Я решил эту проблему, но я не уверен, что вы по той же причине.

В общем, моя проблема была вызвана некоторыми проблемами с разрешениями.

Я пытался переместить весь свой проект в ~ /:

mv xxx/ ~/

, а затем я изменил его, предоставив ему разрешение 777:

chmod -R 777 xxx/

Я не знаком сРазрешение Linux, поэтому я просто делаю это, чтобы убедиться, что у меня есть разрешение на выполнение программы.

Даже если у вас нет разрешения, программа Selen не предложит вам.

Итак, удачи.

0 голосов
/ 10 июня 2019

У меня возникла похожая проблема, и у меня сработало указание строки для URL. :)

package Chrome_Example;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Launch_Chrome {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\Users\\doyes\\Downloads\\chromedriver_win324\\chromedriver.exe");
        String URL = "http://www.google.com";
        WebDriver driver = new ChromeDriver();
        driver.get(URL);
    }

}
0 голосов
/ 18 января 2019

Я получил ту же ошибку при выдаче URL без протокола (например, localhost:4200) вместо правильного и с указанием протокола (например, http://localhost:4200).

Google Chrome работает без протоколапринимает http по умолчанию), но Firefox вылетает с этой ошибкой.

0 голосов
/ 08 ноября 2018

У меня была похожая проблема. Все, что мне нужно было сделать, это удалить существующий geckodriver.exe и загрузить последнюю версию того же самого. Вы можете найти последнюю версию здесь https://github.com/mozilla/geckodriver/releases.

0 голосов
/ 22 апреля 2016

Вы должны сначала объявить URL как укус, как показано ниже:

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

String URL = "http://www.google.com";

driver = webdriver.Firefox()


# go to the google home page
driver.get(URL);
0 голосов
/ 19 апреля 2016

Если вы используете его в Windows Machine, проверьте, является ли установленный вами веб-драйвер selenium самым последним. Я только что узнал, что мой веб-драйвер старый, и он просто открывает Firefox, но не может обработать функцию get.

Обновление веб-драйвера решает эту проблему

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