[英]Robot class- KeyEvent fails to upload document to the windows folder at KeyEvent.VK_V
我正在使用 selenium 上傳文檔的特定場景。 在多次失敗后,我認為自己要調試代碼。 這是我的代碼和錯誤。
public void uploadFile(String imagePath) {
StringSelection stringSelection = new StringSelection(imagePath);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
Robot robot = null;
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
robot.delay(250);
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);
在調試時,我發現了以下結果。
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
The below happens where the selected path gets printed in the code right next to Vk.Control
C:\SAF\GIT\TestImage\Tests.docx robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
請讓我知道是否有任何解決方法?
保持 window 最大化,
before robot.delay(250);
driver.manage().window().maximize();
如果需要在 keyevents 之后添加一點延遲,如下所示
robot.keyPress(KeyEvent.VK_CONTROL);
robot.delay(50); // it will slow down keyevent renderence and synchronize.
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.