Как обновить уже открытую веб-страницу

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

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

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

from selenium import webdriver
import urllib
import urllib2

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

Ответ 1

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

В OSX например

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

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

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

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

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

Ответ 2

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

Способ 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

Проблема в том, что вы открываете веб-драйвер, а затем пытаетесь обновить его, если вы не указали URL-адрес.

Все, что вам нужно сделать, это получить желаемый URL перед обновлением:

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()

Ответ 4

Хорошая идея для "driver.refresh()"

У меня есть еще одна проблема: в "Киоске" я должен переключаться между 2 страницами URL, скажем, через 1 минуту.

Как я могу решить это?

Привет Мартин