目の前に次のシナリオがあります。
私は Selenium を使用してブラウザを駆動し、いくつかのフォームに入力していますが、これは非常にうまく機能しています。
今、私は指定されたWebフォームを介してファイルをアップロードしたいところです(処理方法を変更することはできず、Javascript/HTML/DOMのみを操作できます)。私が発見したように、セキュリティ上の理由から、フィールドをクリックすると、ファイル アップロード ウィンドウがすぐにポップアップします。また、通常の Javascript による操作もできません。こちらも一理ある…
しかし、Firefox アドオンがこれを実行できるはずであることがわかりました。私が答えに最も近いのは、このトピックに関する別のスタック オーバーフロー スレッドです。これが機能するようになったら、それは素晴らしいことです!:-) 残念ながら、私はまだ行っていません...
最小限の例:
<form method="post" url="http://www.example.com">
<input type="file" id="fileInput"/>
</form>
呼び出し時 (Firebug のコンソールから)
document.getElementById('fileInput').value = "C:\\image.png";
in get "エラー: 操作は安全ではありません。" これは私が期待するものです。
FirefoxアドオンのcontentScriptFileで同じものを呼び出すと(アドオンビルダーを使用して作成しています)、スクリプトはエラーなしで単に壊れます。そのための私の指標は、その行の前にアラートが表示されるが、その行の後には表示されないことです
問題は、なぜエラーが発生しないかということではなく、次のことです
。 1. 正しい方向に進んでいますか? これは機能するはずですか?
2. これを機能させるにはどうすればよいですか? 上記のリンクの「クロム権限」の言及が私に関連しているかどうかはわかりません。何らかの方法でスクリプトの権限を拡張する必要がありますか? もしそうなら、どのように?
ありがとうございました!
サンドロ
PS jQuery 経由で値を設定しようとすると、Firefox が完全にクラッシュしました。
PPS 現時点では、これは私の個人的なマシンでのみ動作するはずであり、クロスブラウザの問題または同様のものは関係ありません