2014-02-19 50 views

回答

0

在页面加载完成之前继续执行Watir通常意味着该页面正在异步加载某些内容。在这种情况下,当页面实际完成加载时,您需要告诉Watir。你如何做到这一点取决于页面,但总的来说,有2个选项。

当异步加载内容时,许多应用程序将显示微调器或进度条。当这个元素消失时,页面可以被认为是“加载”的。因此,如果你有这些类型的页面上的元素之一,你可以等待它继续之前消失:

@browser.div(:id => 'spinners_id').wait_while_present 
if @browser.text_field(:id => textbox).exists? 
    # Do stuff 
else 
    # Do other stuff 
end 

另外,还有也许你知道的页面上的元素被加载为止。在这种情况下,你可以等到出现该元素:

@browser.div(:id => 'some_last_element').wait_until_present 
if @browser.text_field(:id => textbox).exists? 
    # Do stuff 
else 
    # Do other stuff 
end 
0

@ browser.text_field(:ID,文本框).when_present.set“欢迎”

这将帮助你减少不必要的等待检查代码并使代码更具可读性。

相关问题