2

下面是我试图自动化的网页中的 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

谢谢

4

1 回答 1

5

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

使用 XPath 选择器几乎肯定是定位该元素的错误方法。

最好使用带有 id 属性的 button 元素类型:

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,则可以使用最后一行,但正如您所看到的那样,它更冗长且难以阅读。

于 2011-09-20T00:51:23.120 回答