gpt4 book ai didi

java - 无法使用 Windows 文件上传弹出窗口上传文件,尝试使用 Java Robot 类

转载 作者:行者123 更新时间:2023-12-01 16:45:10 25 4
gpt4 key购买 nike

我正在编写自动化测试用例来使用 Java Selemium 上传文件。我的问题是,当我单击上传按钮时,会出现 Windows 文件上传弹出窗口。我尝试使用 Robot 类在弹出窗口中发送文件路径,但它没有键入任何内容,我猜它无法将焦点设置在弹出窗口上。也尝试使用 driver.switchTo().alert()

我的代码如下:

List<WebElement> elecount = driver.findElements(By.xpath("//div/img[@title='Insert pictures inline']"));
elecount.get(1).click(); //opens the Windows popup


StringSelection stringSelection = new StringSelection("File path");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
try{
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}

非常感谢。

最佳答案

折腾了一下,找到了解决办法,有一个绝对Xpath可以用来直接发送文件路径上传。这是代码:

File a = new File(System.getProperty("user.dir")+"你的绝对路径");//在我的例子中,文件存在于项目目录中。

字符串绝对 = a.getCanonicalPath();

WebElement addfile = driver.findElement(By.xpath(".//input[@type='file']"));//这个绝对Xpath用于直接上传文件,无需打开Windows文件上传弹窗。

addfile.sendKeys(绝对);

关于java - 无法使用 Windows 文件上传弹出窗口上传文件,尝试使用 Java Robot 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61794591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com