1

以下解决方案是针对“如何使用 Selenium webdriver 自动上传文件”而发布的

var Autoit = new AutoItX3();
const string widowTitle = "File Upload";
Autoit.WinWait(widowTitle, "File &name:", 10);
Autoit.ControlSetText(widowTitle, "", "[CLASS:Edit; INSTANCE:1]", pathToFile);
Autoit.ControlClick(widowTitle, "", "[CLASS:Button; INSTANCE:1]");
Autoit.WinWaitClose(widowTitle, "File &name:", 10);

追问:在上面的例子中,pathToFile 没有更新文件上传对话框中的路径。

我尝试使用其他 AutoIt 功能来更新文件路径但徒劳无功。我该如何解决这个问题?

4

1 回答 1

1

要将文件类型文件名上传到文件输入元素:

import org.openqa.selenium.*
import org.openqa.selenium.firefox.*
import java.util.concurrent.*

driver = new FirefoxDriver()
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS)
driver.get("http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_FILE.html")
driver.findElementByName("upfile").sendKeys("c:\\temp\\myFile.txt")
driver.findElementByCssSelector("td.content input[type='submit']").click()

不要单击文件输入字段,只需使用 sendKeys,文件选择对话框会自动处理。

于 2012-11-16T06:51:09.767 回答