2016-08-23 7 views
0

私はファイルのダウンロードはChromeのブラウザで行いますが、下のリンクは私が探しているソリューションです。reacteと要素のクロムブラウザでセレンを使ってファイルをダウンロードする

http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/

https://github.com/Ardesco/Ebselen/blob/master/ebselen-core/src/main/java/com/lazerycode/ebselen/customhandlers/FileDownloader.java

私はそれが属性を必要とし、私の場合には、ボタンがエンドポイントの呼び出しをトリガーreactidを持っているとして、このコードを使用することはできませんよ。添付のスクリーンショットを参照してください。

誰かが上記のリンクでコードを作成するために必要な変更を教えていただけますか?

ありがとうございます。

よろしく、 ビクラムenter image description here

答えて

1

リンクをダウンロードするには、リンクを取得する方法を見つける必要があります。これを行う最善の方法は、コードを書いた開発者と話し、コードの動作を調べることです。

ボタンをクリックすると、何らかのJavaScriptイベントが発生します。そのイベントが何であるかを知っていなければ、ダウンロードリンクを取得することができません。

これはおそらくSeleniumで実行する価値のあるテストではないことに注意してください。おそらく、JavaScriptの土地でのユニットテストです。

+0

devの世界で単体テストやテスト文化を持ち込むのはなぜ難しいのですか?(これはCSカリキュラム全体の第1章になるはずです – vikramvi

1

あなたのケースであるため、あなたは、HTMLからダウンロード可能なファイルのリンクを取得し、httpsのステータスコードを確認することはできませんので - ダウンロードはjavascriptのメソッド

によって起こりますあなたのケースでダウンロードを確認する唯一の方法は、実際に要素をクリックし、ファイルがダウンロードされたことを確認することです。

また、ChromeDriverの機能を設定して、尋ねることなくデフォルトディレクトリにダウンロードする必要があります。 Chrome Web Driver download files

+0

回答ありがとうございます。このシナリオでhttpステータスコードを確認する例を教えてください。 – vikramvi

+1

@vikramvi この場合、ステータスコードで確認することはできません!私の答えをもう一度読んでください。 –

関連する問題