How to refresh a page on browser using selenium-webdriver

Follow the below part of the code:

driver.get “https://example.com/

element = driver.find_element :name => “username”
element.send_keys “"
element = driver.find_element :name => “password”
element.send_keys "

element.submit

Now point is when the “driver” opened the URL on the browser, Some times
the next page to which username and password has to be put by the
script, not coming- which causes the script to failed. Some intermediate
page is coming asking us to click on ‘retry button’ or ‘refresh the
page’. Thus the script whenever such case occurred stopped execution, as
not getting the mentioned element.

So is there any way to refresh that intermediate page with “sleep”
before going to the “Log-in” page, so that script can run in one go?

Thanks,

Refresh a page:
driver.get driver.url

Waiting:

http://seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits

Something like this:


tried = false

begin

driver.get “https://example.com/
wait = Selenium::WebDriver::Wait.new(:timeout => 10) # seconds
element = wait.until { driver.find_element(:name => “username”) }
element.send_keys “"
element = driver.find_element :name => “password”
element.send_keys "

element.submit

rescue => Timeout

fail if tried
tried = true
retry

end

driver.url is the current url, so it effectively refreshes the page.

You can obviously customise my example to loop as many times as you
like, but I’d recommend avoiding infinite loops.
The “refresh” should not be necessary because the first line executed on
a retry is
driver.get “https://example.com/
thus negating the need to refresh the page.

Joel P. wrote in post #1093536:

Refresh a page:
driver.get driver.url

Waiting:

http://seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits

Something like this:


tried = false

begin

driver.get “https://example.com/
wait = Selenium::WebDriver::Wait.new(:timeout => 10) # seconds
element = wait.until { driver.find_element(:name => “username”) }
element.send_keys “"
element = driver.find_element :name => “password”
element.send_keys "

element.submit

Yes,But the username will never come,unless the intermediate page not
getting refreshed. But it is happening 4 times out of 10.

is “driver.url” fetching the “current url” or what?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs