2016-11-01 10 views
0

Selenium Webdriverを使用してシナリオを自動化しています。 IEでセレニウムのJavaスクリプトを使用してボタンをクリックすると、Excelファイルがダウンロードされます(画像ポップアップに表示されています)。 しかし、そのバーの[保存]オプションをクリックして、デフォルトの場所にダウンロードされるようにする必要があります。 セレンはファイルダウンロードブラウザのポップアップをクリックするサポートを提供していないので、私はロボットクラスのfuctionalityを使ってみました。Robotクラスを使用したAlt + Sキープレスは、Seleniumとともに使用すると動作しません。

私が使用しているコードは次のとおりです。

driver.findElement(By.xpath("//*[@id='btnGenerateExtract']/span/span")).click(); 
    //some wait of 4 seconds 
    clickOnSave(); 

コードclickOnSave()のために:「保存」をクリックすることはできないよう

{ 
      Robot robot=new Robot(); 
      robot.setAutoDelay(250); 
      robot.keyPress(KeyEvent.VK_ALT); 
      Thread.sleep(1000); 
      robot.keyPress(KeyEvent.VK_S); 
      robot.keyRelease(KeyEvent.VK_ALT); 
      robot.keyRelease(KeyEvent.VK_S); 
} 

しかし、これが動作しませんオプション。

答えて

0

この問題は、スクリプト内のマイナーチェンジで解決しました。 。 代わり

driver.findElement(By.xpath( "// * [ID @ = 'btnGenerateExtract'] /スパン/スパン"))の()をクリックします。

使用JavascriptExecutor、

executor.executeScript( "引数[0] .click();"、driver.findElement(By.xpath( "// * [@ ID = 'btnGenerateExtract'] /スパン/スパン")));キーボードやマウスイベントの

残りはRobotクラスを使用して行うことができます。これは一時的な修正であることが判明するかもしれませんが、私はすべてのユーティリティのユーザーが「regeditを」で、このような変更を加えることは期待できないにもかかわらず

0

を提案してくださいあなたは、むしろ「保存または開く」または手動でデフォルトの保存場所を指定するためのプロンプトを求めブラウザを停止することができます。

リンク:

https://superuser.com/questions/273372/how-to-get-ie8-to-auto-save-downloaded-files-to-a-specific-directory

+0

。私はこのシナリオを処理するためのより良い方法を持っていたいと思います。 Plsが提案する。 – aman

関連する問題