我使用测试脚本来自动将文件上传到站点并以无头模式执行脚本。它需要一张一张地上传文件列表,我基于Selenium WebDriver
开发它。我使用AutoIT
脚本来处理对话框窗口,文件选择器窗口。参数$CmdLine[1]
包含实际文件的路径。
ControlFocus("Open a file","","Edit1")
ControlSetText("Open a file","","Edit1", $CmdLine[1])
ControlClick("Open a file","","Button1")
使用以下代码执行:
Runtime.getRuntime().exec(autoITExecutable);
它将打开对话框窗口,因此如果不关注浏览器窗口就无法工作。 java.awt.Robot
类的工作原理类似,它需要关注浏览器窗口。
我也尝试使用sendKeys()
方法,但是输入字段无法以这种方式处理文件。 Katalon Studio
也无法处理此字段。
具有类似形式的示例网站:
http://ajaxuploader.com/demo/simple-upload.aspx
答案 0 :(得分:1)
您可以尝试以下代码:
HelloWorld.vue
答案 1 :(得分:1)
尝试一下,
webElement.sendKeys(System.getProperty("user.dir") + "file path");
在这里
请确保您没有单击浏览按钮,单击浏览按钮将打开Windows对话框,其中硒webDriver将不起作用。
答案 2 :(得分:0)
直接使用硒:
Sub StartMeasButton_Click()
MySubRoutine
End Sub
Sub MySubRoutine()
'put the body of your click routine here
End Sub
Sub Form1_Initialise
MySubRoutine 'effectively the same as clicking the button
End Sub
这样可以避免使用系统依赖对话框。