gpt4 book ai didi

javascript - Selenium Webdriver 处理弹出窗口

转载 作者:行者123 更新时间:2023-11-28 06:56:42 25 4
gpt4 key购买 nike

我正在尝试自动化我的项目的登录场景。点击 URL 后,甚至在页面加载之前就会出现 POPUP 身份验证窗口。如果我们不通过该窗口,我们就看不到主页。

问题是一旦弹出窗口出现,我就无法使用 firebug 检查该元素,它不允许我单击其他任何地方。

我尝试处理该窗口,但控件仍然无法进入用户名和密码文本框。 我尝试了 windowhandle、机器人类,但不起作用。请问有人可以帮忙吗??

这是一段代码:-

Set<String> handles = driver.getWindowHandles(); // get all window handles
System.out.println(handles.size());
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
subWindowHandler = iterator.next();
}
driver.switchTo().window(subWindowHandler);
also the robot class:-

Robot rb = new Robot();

//Enter user name by ctrl-v
StringSelection username = new StringSelection("myusername");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(username, null);
Thread.sleep(2000);
river.switchTo().window(mainHandle);
rb.keyPress(KeyEvent.VK_A);
rb.keyRelease(KeyEvent.VK_A);
rb.keyPress(KeyEvent.VK_M);
rb.keyRelease(KeyEvent.VK_M);
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL);


//tab to password entry field
rb.keyPress(KeyEvent.VK_TAB);
rb.keyRelease(KeyEvent.VK_TAB);
Thread.sleep(2000);

//Enter password by ctrl-v
StringSelection pass = new StringSelection("password");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(pass, null);
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL);

//press enter
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);

//wait
Thread.sleep(5000);

最佳答案

你可以做一件事。你可以尝试一下。

如果我们按 ESC 按钮,应用程序会多次停止处理。

点击事件后使用以下代码:-

Robot r = new Robot();
r.keyPress(KeyEvent.VK_ESCAPE);
r.keyRelease(KeyEvent.VK_ESCAPE);

上面的代码将为您按 ESC 键。现在您可以腾出时间来查找该元素。

希望对你有帮助:)

关于javascript - Selenium Webdriver 处理弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32517254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com