FileInput HTMLコードが非表示になったときにWebページに添付ファイルをアップロードする方法は?

StackOverflow https://stackoverflow.com/questions/19840369

質問

Watir-Webdriverを使用して、Webベースのフォームを介してファイルを電子メール添付ファイルとしてアップロードしようとしています。私が遭遇している問題は、FileInputピースに結び付けられた実際のHTMLコードがページに隠されているため、以下を使用することができないことです。

@browser.file_field(:id => "fileInput").set "#{filepath}"

ページHTMLコード:

<!--Real Input field, but hidden-->
<input id="fileInput" type="file" value="" name="attachment"></input>
<input id="fileButton" type="button" name="attachment" value="Choose Files"
onclick="document.getElementById('fileInput').click();"></input>

さて、そうは言っても、[ファイルのアップロード]ウィンドウを開くページ上の[ファイルの選択]ボタンをクリックできます。したがって、隠されたHTML要素とまったく対話できない場合、Rubyを使用して、そのポップアップウィンドウを使用してアップロードするファイルを指定するにはどうすればよいですか? win32ole?

役に立ちましたか?

解決

2つの潜在的なソリューションが思い浮かびます

1つは、AutoitなどのOSレベルの自動化ツールを使用する、または いしねシステムレベルのファイル選択制御と対話するため

2つは、ページの開発者と相談し、JavaScriptを実行して、ファイル選択ツールが使用されているかのように適切な値を設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top