我尝试使用窗口句柄,警报,我也试过没有切换窗口。 但这个想法都没有对我有用。 一旦我选择了元素,就会打开一个新的浏览器子窗口。现在控制在新的子窗口上,我完全无法检测到。需要帮忙。 在打开此子窗口的操作之前,我可以打印到控制台,但之后不能打印。 我也尝试过JavaScriptExecutor,但它也没有用。
我正在按照窗口的屏幕截图来看它的样子。 您可以看到子窗口是新窗口,但它在主窗口内打开,控件完全在它上面。
答案 0 :(得分:1)
在这里,我使用Robot类与对话框进行交互。无需切换窗口。请尝试以下代码。 Hello 是要输入的数据:
StringSelection data_to_enter= new StringSelection("Hello");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(data_to_enter, null);
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);