如何通过 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个文件,我这里有两个问题:

  1. 我可以动态传递文件名并创建 exe 文件吗?
  2. 如果我想运行这个脚本在其他系统中,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)。如果您在其他系统中使用您的代码,则无需额外工作。