如何在Watir-Webdriver中更改页面加载超时时间(click方法中的超时时间)

21

我有下面的代码:

browser.link(:text => 'Generate Report').click  
browser.radio(:value => 'byTotalValue').wait_until_present(180)  

这段代码发送了一个报告请求并等待报告页面上的某个元素出现。报告可能需要超过2分钟才能出现。

问题在于,在60秒后,click方法会引发Timeout::Error异常。我怀疑Watir-Webdriver在click方法中实现了某种页面加载等待,但我找不到调整该值的方法。

欢迎任何有助于理解此问题的帮助。


我发现了关于Selenium内部超时的讨论。这似乎是我的问题,但是当我尝试使用推荐的代码来调整watir-webdriver的内部超时时,net/http.rb会抛出“连接被拒绝”的异常。 - user1142012
请在此处查看内部超时(http://code.google.com/p/selenium/wiki/RubyBindings)。 - user1142012
2个回答

59

我建议延长客户端超时时间:

client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 180 # seconds – default is 60

b = Watir::Browser.new :firefox, :http_client => client

5
干得好,艾里斯特。如果系统允许的话,我会给你10个点赞。 - Chuck van der Linden
我该如何将超时设置为无限?也许是-1吗? - stack1
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - stack1

16

8
需要翻译的内容:Just to be clear, the option to adjust the default timeout in Watir will not affect the client timeout that was the concern in this question.为了明确,调整Watir中默认超时时间的选项不会影响此问题所涉及的客户端超时时间。 - titusfortner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接