web-dev-qa-db-fra.com

Comment actualiser une page Web déjà ouverte

Je veux juste actualiser une page Web déjà ouverte avec Selenium.

Il ouvre toujours une nouvelle fenêtre de navigateur.

Qu'est-ce que je fais mal?

from Selenium import webdriver
import urllib
import urllib2

driver = webdriver.Firefox()
driver.refresh()
8
PhilippL

Je suggérerais de lier la recherche d’élément de pilote à la balise et d’utiliser la commande de rafraîchissement du navigateur.

Sous OSX par exemple

driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 'r')

Documentation sur les clés ici: http://Selenium-python.readthedocs.org/en/latest/api.html

Mise à jour: Le code suivant, très similaire à votre, fonctionne bien pour moi.

    driver = webdriver.Firefox()
    driver.get(response.url) #tested in combination with scrapy   
    time.sleep(3)   
    driver.refresh()

Êtes-vous sûr de charger correctement la page Web avec le pilote avant de l'actualiser?

8
aberna

Vous pouvez essayer l’une des méthodes ci-dessous pour la même chose. 

Méthode 1:

driver.findElement(By.name("s")).sendKeys(Keys.F5);

Méthode 2:

driver.get(driver.getCurrentUrl());

Méthode 3:

driver.navigate().to(driver.getCurrentUrl());

Méthode 4:

driver.findElement(By.name("s")).sendKeys("\uE035");
2
Rupesh Shinde

Le problème est que vous ouvrez WebDriver, puis que vous essayez d'actualiser lorsque vous n'avez pas spécifié d'URL. 

Tout ce que vous avez à faire est d’obtenir votre URL souhaitée avant de rafraîchir:

from Selenium import webdriver
import urllib
import urllib2
driver = webdriver.Firefox()
driver.get("Your desired URL goes here...")
#now you can refresh the page!
driver.refresh()
0
Sneakerhead Farb