2015-02-11 2 views
6

Я просто хочу обновить уже открытую веб-страницу с помощью Selenium.Как обновить уже открытую веб-страницу

Он всегда открывает новое окно браузера.

Что я делаю неправильно?

from selenium import webdriver 
import urllib 
import urllib2 

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

Вы пытались использовать 'driver.navigate(). Refresh()'? – HavelTheGreat

+0

Код, который вы показываете, не воспроизводит проблему, о которой вы сообщаете. Строка 'webdriver.Frirefox()' запустит новый браузер. Но 'driver.refresh()' ничего не делает с кодом, который вы показываете. Если вы добавите вызов 'driver.get() для загрузки хорошего URL-адреса, страница обновится, как следует. – Louis

ответ

3

Вы можете попробовать любой из нижеперечисленных методов.

Метод 1:

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

Способ 2:

driver.get(driver.getCurrentUrl()); 

method3:

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

Method4:

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

Это не относится к python, который является тегом с тегом –

+0

Это не python – bntzio

5

Я бы предложил связать поиск элемента драйвера с тегом body и использовать команду обновления браузера.

В OSX, например

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

Документация по клавишам здесь: http://selenium-python.readthedocs.org/en/latest/api.html

Update: Следующий код, очень похожий на ваш друг, отлично работает для меня.

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

Вы действительно правильно загрузили страницу с драйвером перед обновлением?

Смежные вопросы