2

以下は、自動化しようとしている Web ページの 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 属性を持つボタン要素タイプを使用する方がはるかに優れています。

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 に答える