ファイルシステムから ondrag イベントトリガーを持つ要素にファイルをドラッグアンドドロップするアクションをシミュレートするにはどうすればよいですか?
通常の「ファイル」入力については、入力の値をjQueryで設定できました。javascript File オブジェクトを作成したり、同様のハックを使用したりできませんか?
ありがとう
ありがとう
ファイルシステムから ondrag イベントトリガーを持つ要素にファイルをドラッグアンドドロップするアクションをシミュレートするにはどうすればよいですか?
通常の「ファイル」入力については、入力の値をjQueryで設定できました。javascript File オブジェクトを作成したり、同様のハックを使用したりできませんか?
ありがとう
ありがとう
Heliumと呼ばれる Selenium の商用ラッパーがあり、1 つのコマンドで必要なことを実行できます。
drag_file('/path/to/file.txt', to=driver.find_element_by_id("yourElement"))
(私はヘリウムと提携しています。)
あなたはこのようなことを試してみたいかもしれません
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 のどこかに送信する必要がある場合があります。
ファイルパスを入力に送信するのは、ファイルをドラッグするだけだと思うか、JSで作成された要素を使用し、要素への移動でdrag_and_drop_by_offsetを使用するかのいずれかの問題のようです。