0

私の Web アプリケーションで、ダウンロード ボタンをクリックした後、「このサイトから "abc.txt" を開くか保存しますか?」という内容のポップアップ メッセージが表示されます。ページ下部に「開く」「保存」「キャンセル」の3つのボタンが表示されます。

以下のコードを使用して、このブラウザ セッションを閉じる/終了しようとしています。

@driver.execute_script "window.onbeforeunload = function(e){};"
@driver.quit

ただし、ブラウザーは閉じていません (閉じている必要があります)。私はSelenium Ruby Webdriverを使用しています。この問題を解決する方法を教えてください。本当にありがとう。

上記のコードを使用すると、ポップアップメッセージ「このページは、あなたが離れたいことを確認するよう求めています - あなたが入力したデータは保存されません」というポップアップメッセージが表示され、「ページを離れます」と「ページにとどまる」ボタンが正常に表示されました。ただし、「このサイトの "abc.txt" を開くか保存しますか?」という内容のポップアップ メッセージが表示された場合、コードは機能しません。3つのボタン(「開く」「保存」「キャンセル」)が表示されます。

4

2 に答える 2

0

WebDriver は、これらのタイプの「ファイルの保存」ダイアログ プロンプトを制御できません。

このテーマについては、この記事をよく読んでください (彼の例は Java で書かれていますが、それらはすべて簡単に移植でき、Ruby ではより少ないコードで済みます)。http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/

したがって、問題のリンクをクリックしてダイアログに対処しようとさえしないことをお勧めします。代わりに、href値を取得して、この SO 応答のように要求を開始Net::HTTPします: https://stackoverflow.com/a/4581116/1221475。その後、標準の Ruby およびファイル パーサーを使用して、ファイルの内容が正しいかどうかなどを確認できます。

于 2013-06-14T06:00:46.027 に答える