我正在尝试构建将安装chrome扩展程序的自动化脚本。
在我的本地系统(Windows 10)上,将Robot类与Java一起使用时,一切正常,因为我的计算机上连接了物理键盘。
问题是-当我尝试在虚拟机(Amazon EC2,Windows服务器)上运行此自动化操作时,Robot类无法正常工作,因为它没有检测到键盘的物理连接。
有没有其他方法可以在不连接键盘的情况下模拟键盘击键?
仅供参考,我必须使用键盘,因为Google安装盒不是页面的一部分,硒也无法识别它。
我已经尝试过sendKeys函数,但是它不起作用,因为它将仅影响网页本身,而不会在页面外弹出
最佳答案
我相信您可以使用Java机械手功能来模拟键盘交互。
例:
package org.kodejava.example.awt;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class CreatingKeyboardEvent {
public static void main(String[] args) {
try {
Robot robot = new Robot();
// Create a three seconds delay.
robot.delay(3000);
// Generating key press event for writing the QWERTY letters
robot.keyPress(KeyEvent.VK_Q);
robot.keyPress(KeyEvent.VK_W);
robot.keyPress(KeyEvent.VK_E);
robot.keyPress(KeyEvent.VK_R);
robot.keyPress(KeyEvent.VK_T);
robot.keyPress(KeyEvent.VK_Y);
} catch (AWTException e) {
e.printStackTrace();
}
}
}
关于java - 如何在 Selenium 中没有物理键盘的情况下按下键盘键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48058352/