0

ファイルシステムから ondrag イベントトリガーを持つ要素にファイルをドラッグアンドドロップするアクションをシミュレートするにはどうすればよいですか?

通常の「ファイル」入力については、入力の値をjQueryで設定できました。javascript File オブジェクトを作成したり、同様のハックを使用したりできませんか?

ありがとう

ありがとう

4

4 に答える 4

2

Heliumと呼ばれる Selenium の商用ラッパーがあり、1 つのコマンドで必要なことを実行できます。

drag_file('/path/to/file.txt', to=driver.find_element_by_id("yourElement"))

(私はヘリウムと提携しています。)

于 2014-01-21T07:47:36.800 に答える
1

あなたはこのようなことを試してみたいかもしれません

query = '''function previewFile() {
          var preview = document.querySelector('img');
          var file    = document.querySelector('input[type=file]').files[0];
          var reader  = new FileReader();

          reader.onloadend = function () {
            preview.src = reader.result;
          }

          if (file) {
            reader.readAsDataURL(file);
          } else {
            preview.src = "";
          }
        }'''

driver.execute_script(query)

詳細をいじる必要がありますが、これでファイルが読み取られ、DOM のどこかに送信する必要がある場合があります。

于 2013-11-04T21:02:05.217 に答える
1

ファイルパスを入力に送信するのは、ファイルをドラッグするだけだと思う​​か、JSで作成された要素を使用し、要素への移動でdrag_and_drop_by_offsetを使用するかのいずれかの問題のようです。

于 2013-11-04T15:50:26.843 に答える