10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/dropybara.rb', line 10
def drop_file(locator, *args)
element_id = "dropybara_input_#{rand(1000)}"
driver.execute_script " var input = document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', '\#{element_id}')\n document.body.appendChild(input);\n JS\n\n attach_file(element_id, *args).tap do\n driver.execute_script <<-JS\n var input = document.getElementById('\#{element_id}');\n var target = document.querySelector('\#{locator}');\n var data = new DataTransfer();\n data.files = input.files;\n data.items.add(input.files[0]);\n data.types = ['Files'];\n\n var event = new DragEvent('drop', {\n target: target,\n dataTransfer: data\n });\n target.dispatchEvent(event);\n\n document.body.removeChild(input);\n JS\n end\nend\n"
|