2015-02-11 76 views
6

Po prostu chcę odświeżyć już otwartą stronę WWW z Selenium.Jak odświeżyć już otwartą stronę internetową?

Zawsze otwiera nowe okno przeglądarki.

Co robię źle?

from selenium import webdriver 
import urllib 
import urllib2 

driver = webdriver.Firefox() 
driver.refresh() 
+4

Czy próbowałeś użyć 'driver.navigate(). Refresh()'? – HavelTheGreat

+0

Wyświetlany kod nie odtwarza problemu, który zgłaszasz. Linia 'webdriver.Frirefox()' uruchomi nową przeglądarkę. Ale 'driver.refresh()' nic nie robi z wyświetlonym kodem. Jeśli dodasz wywołanie 'driver.get()', aby załadować dobry adres URL, strona odświeży się tak, jak powinna. – Louis

Odpowiedz

3

Możesz wypróbować jedną z poniższych metod dla tego samego.

Metoda 1:

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

Metoda 2:

driver.get(driver.getCurrentUrl()); 

Method3:

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

Method4:

driver.findElement(By.name("s")).sendKeys("\uE035"); 
+3

Nie dotyczy to pythona, czyli języka oznaczonego jako –

+0

To nie jest pyton – bntzio

5

Proponuję powiązanie przeszukania elementu sterownika z treścią znacznika i użycie polecenia odświeżenia przeglądarki.

W OSX na przykład

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

Dokumentacja na klawiszach tutaj: http://selenium-python.readthedocs.org/en/latest/api.html

Aktualizacja: Poniższy kod, bardzo podobny do swojego jednego, działa dobrze dla mnie.

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

Czy jesteś pewien, że poprawnie załadowałeś stronę internetową ze sterownikiem przed odświeżeniem?