2

皆さん、

私は興味深い問題を抱えています。クリックするとポップアップウィンドウを開くWebページにjavascriptがあります。ウィンドウのタイトルをクリックしてクリックできるようにしようとしています。ウィンドウには、「キャンセル」と「ファイルの保存」の2つのボタンがあります。Rubyコードで私がやっていることは次のとおりです。

@windows = @browser.windows #this should return an array, so @windows is an array
p @windows[1] #output of this is #<Watir::Window:0x115c796cc located=true>
puts "This is the title of the second window---->"+@windows[1].title #this puts blank

私が見ている問題は、Windows オブジェクトを印刷するときに変数がないのはp @windows[1]なぜですか? また、なぜタイトルが印刷されないのですか@windows[1].title? 私の目標は、ポップアップウィンドウの「ファイルをダウンロード」ボタンをクリックすることです

これは私が持っているHTMLの一部です:

<td>
   <a onclick="window.open(this.href);return false;" href="/search/searches/1563/exports/1017">6175-1017-20120418181521-karnire.eml.zip</a>
</td>

私が試したもう1つのことは、私のコードで次のようなことをすることです:

@windows = @browser.windows
@browser.window(:title => @windows[1].title).use do
     @browser.button(:value => "Save File").click
end

上記の場合、次のようなエラーが表示されます。

Unable to locate window "{639686d9-4641-aa41-bf6f-3ba89659d921}" (Selenium::WebDriver::Error::NoSuchWindowError)
4

2 に答える 2

2

まず、watir-webdriver ブログで提供されている情報から始めます。

それでもうまくいかない場合は、ファイルのダウンロードに関する watir-wiki ページを見てみてください。

少し古くなっています (1 年も更新されておらず、rautomation ではなく autoit を使用しています) が、それで十分かもしれません。

于 2012-04-18T18:59:56.610 に答える
0

Watir がウィンドウの読み込みを待っていない可能性があります。クリック後に sleep(10) を入れてみてください。

于 2012-04-19T03:06:17.030 に答える