web-dev-qa-db-fra.com

Selenium WebDriver.get (url) n'ouvre pas l'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
driver = webdriver.Firefox()


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

Cela ouvre une fenêtre Firefox mais n'ouvre pas une URL.

  1. J'ai un serveur proxy (mais la barre d'adresse ne montre pas l'URL passée)
  2. J'ai deux profils Firefox. 

1 ou 2 peuvent être un problème? Si oui, comment puis-je le résoudre?

27
Neeraj

C'est un défaut de sélénium
J'ai le même problème dans Ubuntu 12.04 derrière le proxy.

Le problème est lié au traitement incorrect des exclusions de proxy. Les exclusions Ubuntu par défaut sont situées dans no_proxy variable d'environnement:

no_proxy=localhost,127.0.0.0/8

Mais il semble que / 8 masque ne fonctionne pas pour le sélénium. Pour contourner le problème, il suffit de changer no_proxy à ce qui suit:

no_proxy=localhost,127.0.0.1

La suppression des paramètres de proxy avant d'exécuter le script python aide également:

http_proxy= python script.py
16
grdshch

Je faisais face au même problème, après avoir parcouru quelque temps, sachant qu’il s’agissait essentiellement de problème de compatibilité de version} bt firefox et Selenium. J'ai le dernier firefox, mais mon Selenium importé était plus ancien, ce qui est à l'origine du problème. Le problème a été résolu après le {mise à niveau de selenuim} _

pip install -U Selenium

OS: Windows Python 2.7

9
Goutham

@ Neeraj

J'ai résolu ce problème, mais je ne suis pas sûr que vous ayez la même raison.

En général, mon problème était dû à des problèmes de permission.

J'ai essayé de déplacer tout mon projet dans ~ /:

mv xxx/ ~/

et puis je change donne le 777 permission:

chmod -R 777 xxx/

Je ne connais pas bien les permissions de linux, donc je le fais pour m'assurer d'avoir la permission d'exécuter le programme.

Même si vous n'avez pas la permission, le programme Selenium ne vous le demandera pas.

Alors bonne chance.

1
MrROY
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
sachin2013

J'ai résolu ce problème. 

Si vos fichiers jar sont plus anciens que la dernière version et que le navigateur a été mis à jour vers la dernière version, téléchargez:

1
Amit

A passé beaucoup de temps sur cette question et a finalement trouvé que Selenium 2.44 ne fonctionnait pas avec node version 0.12 . Utilisez la version de nœud 0.10.38 .

0
kashesandr

La même erreur s'est produite lors de l'envoi d'une URL sans protocole (comme localhost:4200) au lieu d'une adresse correcte, spécifiant également le protocole (par exemple, http: // localhost: 4200 ).

Google Chrome fonctionne correctement sans le protocole (il prend http par défaut), mais Firefox se bloque avec cette erreur.

0
Alexei

J'ai eu le même problème. Tout ce que je devais faire était de supprimer le fichier geckodriver.exe existant et de télécharger la dernière version de celui-ci. Vous pouvez trouver la dernière version ici https://github.com/mozilla/geckodriver/releases .

0
Shithij Rai