Watir 与 Watir-webdriver 在处理 xpath 方面有什么区别

发布于 2024-12-05 12:58:02 字数 632 浏览 1 评论 0原文

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

谢谢

Below is the html from webpage i am trying to automate, When I am using Watir, it is finding the element correctly but not with 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>

I am using the below code:

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

When I am using watir, it returns true but If i am using watir-webdriver, it returns false.
Can you guys help me why watir-webdriver is not recognizing the xpath

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暖风昔人 2024-12-12 12:58:02

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

You're trying to locate a 'td' when you're looking for a 'button'.

And using a XPath selector is almost certainly the wrong way to locate this element.

You're much better off using the button element type with an id attribute:

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 

You can use the last line if you're adamant about xpath, but as you can see it's more verbose and less clear to read.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文