我有以下HTML:
<input type="email" class="form-control" name="email" placeholder="Email">
我正在尝试使用以下代码检索此元素:
b = Watir::Browser.new :chrome
b.goto('localhost:3000')
puts b.input(:name => "email").exists?
这会返回false
,但绝对是正确的。我也尝试使用b.text_field(:name => 'email').exists?
,但它也会返回false
。
最终目标是更改输入的文本,但我现在甚至无法找到该元素。页面加载正常,加载后输出false
。
答案 0 :(得分:1)
问题是您的代码实际上是在元素加载完成之前执行的。您需要链接一些方法(即.when_present
和.exists?
以确保您的元素在尝试检查它的存在之前已加载:
puts b.input(:name => "email").when_present.exists?
祝你好运!