【问题标题】:is there any difference between Watir Vs Watir-webdriver for handling xpathWatir与Watir-webdriver处理xpath有什么区别吗
【发布时间】:2011-09-21 00:53:49
【问题描述】:

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

谢谢

【问题讨论】:

    标签: watir watir-webdriver


    【解决方案1】:

    您在寻找“按钮”时试图定位“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,则可以使用最后一行,但正如您所见,它更冗长且难以阅读。

    【讨论】:

    • xpath 也往往更慢,在编写脚本时更容易出现用户错误,并且在更新或查看脚本时几乎不可能让其他任何人理解。只有在没有其他方法可行的情况下才使用它。
    • Watir 和 Watir-Webdriver 一样吗?谢谢。 PS - 我不想为此提出问题,因为它会被否决。
    • 相同的 API,不同的浏览器支持。 Webdriver支持所有浏览器,Watir只支持IE
    猜你喜欢
    • 1970-01-01
    • 2013-04-11
    • 2012-03-06
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多