如何通过 Selenium 中的 AutoIt 脚本动态上传文件?
How to upload file Dynamically through AutoIt Script in Selenium?
下面是我的 AutoIt 脚本:
ControlFocus("Open","","Edit1")
ControlSetText("Open","","Edit1","C:\project\data\data.csv")
ControlClick("Open","","Button1")
并将文件转换为在 java 文件中使用的 exe,如下所示。
Runtime.getRuntime().exec("C:\project\script\TestAutoIt3.exe");
现在我要上传10个文件,我这里有两个问题:
- 我可以动态传递文件名并创建 exe 文件吗?
- 如果我想运行这个脚本在其他系统中,exe文件将
不起作用,因为该项目可能位于其他路径中。我怎么能够
处理这个?
提前致谢?
要使用 Selenium
+ Java
上传文件,您需要以下代码:
ChromeDriver driver = new ChromeDriver();
driver.get("http://page.com"); // This is the page with file upload field
WebElement fileInput = driver.findElement(By.xpath("//input[@type='file']"));
fileInput.sendKeys("C:\Path\To\File.jpg");
请使用Andersson给出的答案,这样维护autoIt文件就不会头疼了(exe/au3)。如果您在其他系统中使用您的代码,则无需额外工作。
下面是我的 AutoIt 脚本:
ControlFocus("Open","","Edit1")
ControlSetText("Open","","Edit1","C:\project\data\data.csv")
ControlClick("Open","","Button1")
并将文件转换为在 java 文件中使用的 exe,如下所示。
Runtime.getRuntime().exec("C:\project\script\TestAutoIt3.exe");
现在我要上传10个文件,我这里有两个问题:
- 我可以动态传递文件名并创建 exe 文件吗?
- 如果我想运行这个脚本在其他系统中,exe文件将 不起作用,因为该项目可能位于其他路径中。我怎么能够 处理这个?
提前致谢?
要使用 Selenium
+ Java
上传文件,您需要以下代码:
ChromeDriver driver = new ChromeDriver();
driver.get("http://page.com"); // This is the page with file upload field
WebElement fileInput = driver.findElement(By.xpath("//input[@type='file']"));
fileInput.sendKeys("C:\Path\To\File.jpg");
请使用Andersson给出的答案,这样维护autoIt文件就不会头疼了(exe/au3)。如果您在其他系统中使用您的代码,则无需额外工作。