Autoit ControlSetText函数不插入文件路径

时间:2012-11-15 05:39:07

标签: selenium webdriver autoit

以下解决方案是为了回应 - “如何使用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功能来更新文件路径但是徒劳无功。我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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,自动处理文件选择对话框。