我需要上传文件。步骤是: 1. 点击哪个校准模态窗口的按钮。(Linux 窗口没有位置栏) 2. 选择正确的文件并上传。
非常感谢任何帮助。使用 Chrome Firefox 驱动程序和 Java。
这已被多次询问,并且也在一些 Selenium 常见问题解答中。
// assuming driver is a well instantiated WebDriver
WebElement fileInput = driver.findElement(By.xpath("//input[@type='file']"));
fileInput.sendKeys("C:/path/to/file.jpg");
这个想法是将文件的路径直接发送到您通常单击以获取模式窗口的元素 - 即<input type='file' />
element.
我找到了机器人类的解决方法
这是代码:
try {
Robot robot = new Robot();
robot.delay(3000);
robot.keyPress(KeyEvent.VK_P);
robot.keyRelease(KeyEvent.VK_P);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
} catch (AWTException e) {
e.printStackTrace();
}
对于模态窗口,我更喜欢将 autoit 与 selenium 一起使用,autoit 是一个非常轻量级的应用程序,可以创建脚本并编译生成 exe 文件并在 selenium 中运行 exe 文件,
有关详细信息,请参见此处。