首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium WebDriver:等待Selenium

Selenium WebDriver:等待Selenium
EN

Stack Overflow用户
提问于 2013-10-31 23:51:56
回答 2查看 1.4K关注 0票数 0

这是怎么回事?我想等待下一个任务,直到我的页面完全加载。问题:没有错误,但驱动程序不等待:-(

代码语言:javascript
复制
# wait for page load
wait2 = Selenium::WebDriver::Wait.new(:timeout => 20) # seconds
count = 0
begin
  raise("maximum attempt crossed #{count} times") if count > 3
  wait2.until {
    self.getDriver.execute_script("return document.readyState;") == "complete"
  }
rescue Timeout::Error
  count +=1
  retry
end

#do sth
EN

回答 2

Stack Overflow用户

发布于 2013-10-31 23:58:09

我将按如下方式处理此问题:

代码语言:javascript
复制
wait = Selenium::WebDriver::Wait.new(:timeout => 20) # seconds
count = 0
begin
   raise("maximum attempt crossed #{count} times") if count > 3
   # if the page having title 'page_title' is not loaded within 20 seconds
   # time out error will be thrown,which will be handled by the rescue clause.
   wait.until { driver.title == 'page_title' }
rescue Timeout::Error
   count +=1
   retry
end
票数 0
EN

Stack Overflow用户

发布于 2015-06-18 10:38:19

这似乎对我很有效。

代码语言:javascript
复制
DEFAULT_TIMEOUT = 10

def wait_for_page_to_load(options = {})
    options[:timeout] ||= DEFAULT_TIMEOUT

    wait = Selenium::WebDriver::Wait.new(options)
    wait.until {current_driver.execute_script('var browserState = document.readyState; return browserState;') == "complete" }

end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19711118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档