PhilippL
PhilippL

Reputation: 479

How to refresh an already opened web page

I just want to refresh an already opened web page with Selenium.

It always opens a new browser window.

What I'm doing wrong?

from selenium import webdriver
import urllib
import urllib2

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

Upvotes: 47

Views: 197161

Answers (7)

zzhapar
zzhapar

Reputation: 135

For me helped

from selenium import webdriver
import time


driver = webdriver.Firefox()
driver.get("URL")

time.sleep(5)
driver.refresh()

Upvotes: 0

William Gao
William Gao

Reputation: 11

I got mine fixed by adding "browser.refresh()" the for loop or while loop.

Upvotes: -1

Hazim Arafa
Hazim Arafa

Reputation: 96

You are trying to refresh the page before it loads so u can use a sleep function

from time import sleep
sleep(1)

or you can wait for an XPath to load so

WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, xpath goes here)))

Upvotes: 3

Vikki
Vikki

Reputation: 2025

The following codes work for me

driver.get(driver.current_url)
sleep(2)
driver.refresh()

I use python 3.7.6, selenium 3.141.0

Upvotes: 5

Sneakerhead Farb
Sneakerhead Farb

Reputation: 321

The problem is you are opening the webdriver and then trying to refresh when you have not specified a URL.

All you need to do is get your desired URL before refreshing:

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

Upvotes: 17

aberna
aberna

Reputation: 5814

I would suggest binding the driver element search to the tag body and use the refresh command of the browser.

In OSX for example

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

Documentation on keys here: http://selenium-python.readthedocs.org/en/latest/api.html

Update: The following code, very similar to your one, works fine for me.

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

Are you sure you correctly load the web page with the driver before refreshing it ?

Upvotes: 53

Rupesh Shinde
Rupesh Shinde

Reputation: 1956

You can try any one of the below methods for the same.

Method 1:

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

Method 2:

driver.get(driver.getCurrentUrl());

Method3:

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

Method4:

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

Upvotes: -1

Related Questions