2012-04-18 8 views
2

フォーク、ファイルダウンロードポップアップウィンドウ内のボタンをクリックすると、watir-webdriverを使用するウィンドウ

興味深い問題があります。私は、クリックするとポップアップウィンドウを開くウェブページ上にいくつかの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---->"[email protected][1].title #this puts blank 

私は時にタイトルに印刷されていない理由もp @windows[1]を使用してそれをプリントアウトしたときに私のウィンドウオブジェクトはすべての変数を持っていないんなぜ私は見ています問題があります私は@windows[1].titleです。私が試した他の事は、私の中でこのような何かをやっている

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

:私の目標は、これは私が持っているHTMLの一部であるポップアップウィンドウ

の「ファイルのダウンロード」ボタンをクリックしてくださいですコード:

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

ウィンドウを表示させているHTMLを表示できますか?これは新しいブラウザウィンドウではなく、モーダルなjavascriptの '確認'ボックスですか? –

+0

が、これはそれだけで新しいウィンドウを開いているように見えますが(でもきれいにフォーマット)あなたがあなたの質問を編集して、そこにHTMLを入れることができるはず自分自身を知っているHTML '​​ 6333-33317-20134745748181521-dfrgrgr.fml.zip ' –

+0

.. –

答えて

2

私はのwiを開始したい:私はこのようなエラーが取得する上記のため

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

th提供された情報here on the watir-webdriver blog

それがうまくいかない場合は、watir-wiki page on file downloadsを見てみてください。

少し年代が変わっています(1年で更新されていない、また自動化されていないautoitを使用しています)が、あなたを動かすのに十分かもしれません。

0

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

関連する問題