2

私は、PDFファイルを表示しているときにChromeでCtrl + Sキーを押しながらファイルの保存ダイアログを開こうとしています。私が現在持っているものは何も起こっていないので、キーストロークを送信しているようではありません。一度開いたら、ファイルの保存ダイアログで何をするのか心配する必要はありません。ただ開くだけです。これは私が今持っているものです。Selenium C#ChromeDriverでsaveコマンドを送信

Actions action = new Actions(driver); 
action.MoveToElement(driver.FindElement(By.TagName("body"))); 
action.KeyDown(OpenQA.Selenium.Keys.Control).SendKeys("s").KeyUp(OpenQA.Selenium.Keys.Control); 
action.Build(); 
action.Perform(); 
+1

キーの組み合わせは、「Chrome」では機能しません。代わりに 'Firefox'を試してください – Andersson

+0

アプリケーションはChromeでテストする必要があります。 pdfを保存する他の方法はありますか? – Mike

+0

文字列としてファイルの内容を保存するには 'String pageSource = driver.getPageSource();'を使うことができますが、わかりません – Andersson

答えて

0

タブが開かれた後、あなたは、ロボットのAPIを試すことができます:これは動作するはず

Robot key = new Robot(); 
      key.keyPress(KeyEvent.VK_CONTROL); 
      key.keyPress(KeyEvent.VK_S); 
      key.keyRelease(KeyEvent.VK_S); 
      key.keyRelease(KeyEvent.VK_CONTROL); 

。ブラウザが最小化されていないことを確認してください。

+0

申し訳ありませんが、私はC#を使用していたはずです。ロボットクラスは私にとってはうまくいかないでしょう。 – Mike

0

私はWindowsフォームを使用してこれを元に戻しました。これは、ファイルの保存ダイアログとやりとりするためにやっていたものなので、依存関係は心配していません。私はクロムにpdfを見せて、Ctrl + sコマンドを送った。

SendKeys.SendWait("^(s)"); 
関連する問題