Watir-WebDriver关于交互式等待方法,告别一味sleep时代

有交互就有等待,等待页面加载完毕的时间怎么处理呢?

有人说sleep:

sleep N #等待N秒后继续执行

怎么才能告别毫无意义的命令呢?

接下来介绍一下Watir-Webdriver为我们提供等待方法。

Watir::Wait.until

#等待直到页面显示结果

Watir::Wait.until { @@b.text.include? 'welcome word' }
... ...
#继续执行后续操作

object.when_present.set

#当对象出现时去操作该对象

@@b.text_field(:name=> 'word').when_present.set 'Ruby:一十一'
#等待该文本框出现后执行set'
Ruby:一十一'

object.wait_until_present

#等待直到对象出现

@@b.text_field(:name=> 'word').wait_until_present
#等待该文本框出现后
@@b.text_field(:name=> 'word').set 'Ruby:一十一'
#执行set'Ruby:一十一'

object.wait_while_present

#等待直到对象消失

@@b.button(:value => 'Submit').wait_while_present
#等待button消失后,执行一下操作 @@b.text.include?
'welcome word'

 

你可能感兴趣的:(webdriver)