我尝试使用窗口句柄、警报,也尝试不切换窗口。 但这些想法都不适合我。 一旦我选择该元素,就会打开一个新的浏览器子窗口。现在控件位于新的子窗口上,我根本无法检测到。需要帮忙。 在打开此子窗口的操作之前,我可以打印到控制台,但之后不能。 我也尝试过 JavaScriptExecutor 但它也不起作用。
我正在放置窗口的屏幕截图,如下所示。 您可以看到子窗口是新的,但它是在主窗口内打开的,并且控件完全在其上。
最佳答案
在这里,我使用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);
关于java - 无法切换到主窗口内的浏览器窗口。(Selenium Webdriver),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27064096/