用于处理xpath的Watir Vs Watir-webdriver之间有什么区别吗?

时间:2011-09-19 21:58:09

标签: watir watir-webdriver

以下是我试图自动化的网页html,当我使用Watir时,它正确地找到了元素,但没有使用watir-webdriver。

  <td width="87">
  <input type="image" style="height: 34px; width: 83px; border-width: 0px;" src="/test/test/img/Order-Online-Form_18.gif" id="order1_Next1" name="$Next1">
                </td>

我使用以下代码:

require 'rubygems'
require 'watir'
browser = watir::Browser.new
browser.goto 'test.com'
test = @browser.td(:xpath,"//input[@id='order1_Next1']").exists?
puts test

当我使用watir时,它返回true但是如果我使用watir-webdriver,则返回false。 你能帮我解释为什么watir-webdriver不能识别xpath

由于

1 个答案:

答案 0 :(得分:5)

当您正在寻找“按钮”时,您正试图找到“td”。

使用XPath选择器几乎肯定是找到此元素的错误方法。

使用具有id属性的按钮元素类型会好得多:

require 'watir-webdriver'
b = Watir::Browser.start 'http://dl.dropbox.com/u/18859962/qageeks.html'
b.button(:id => 'order1_Next1').exists? # => true 
b.button(:xpath,"//input[@id='order1_Next1']").exists? # => true 

如果你坚持使用xpath,你可以使用最后一行,但正如你所看到的那样,它更冗长,更不清晰。