我正在尝试构建将安装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/

10-16 15:01