How to refresh an already opened web page

前端 未结 6 1502
孤城傲影
孤城傲影 2021-01-01 14:12

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

It always opens a new browser window.

What I\'m doing wrong?

fr         


        
相关标签:
6条回答
  • 2021-01-01 14:51

    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()
    
    0 讨论(0)
  • 2021-01-01 15:00

    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 ?

    0 讨论(0)
  • 2021-01-01 15:05

    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)))
    
    0 讨论(0)
  • 2021-01-01 15:05

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

    0 讨论(0)
  • 2021-01-01 15:11

    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

    0 讨论(0)
  • 2021-01-01 15:11

    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");
    
    0 讨论(0)
提交回复
热议问题