Я просто хочу обновить уже открытую веб-страницу с помощью Selenium
.
Он всегда открывает новое окно браузера.
Что я делаю неправильно?
from selenium import webdriver
import urllib
import urllib2
driver = webdriver.Firefox()
driver.refresh()
Я просто хочу обновить уже открытую веб-страницу с помощью Selenium
.
Он всегда открывает новое окно браузера.
Что я делаю неправильно?
from selenium import webdriver
import urllib
import urllib2
driver = webdriver.Firefox()
driver.refresh()
Я бы предложил привязать поиск элемента драйвера к телу тега и использовать команду обновления браузера.
В 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()
Вы уверены, что правильно загрузили веб-страницу с драйвером перед ее обновлением?
Вы можете попробовать любой из приведенных ниже методов для этого.
Способ 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");
Проблема в том, что вы открываете веб-драйвер, а затем пытаетесь обновить его, если вы не указали 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()
Хорошая идея для "driver.refresh()"
У меня есть еще одна проблема: в "Киоске" я должен переключаться между 2 страницами URL, скажем, через 1 минуту.
Как я могу решить это?
Привет Мартин