gpt4 book ai didi

java - 如何使用没有 autoit 和 url 方法的 java 使用 selenium webdriver 处理浏览器的身份验证警报

转载 作者:行者123 更新时间:2023-11-30 05:49:18 26 4
gpt4 key购买 nike

我尝试使用

设置代理
Proxy proxy = new Proxy();
proxy.setHttpProxy("http://MY_USERNAME:MY_PASSWORD@MY_HOST:MY_PORT");

它正在重定向到特定的 URL,但实际上并没有设置代理并为我提供本地 IP 而不是 MY_HOST。

我无法使用自动脚本。

请指导我如何处理警报框

enter image description here

我尝试过driver.switchTo().alert();但,该语句后代码不起作用driver.get(MY_URL);当弹出窗口出现时。

注意:两个选项(1)通过设置 crx 文件和(2)通过在 URL 中提供用户名和密码以及主机和端口,都可以成功进行身份验证,但请注意,这是实际上并没有根据需要设置代理,而是提供本地 IP

最佳答案

java.awt.Robot类可用于身份验证

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;

login() throws Exception {
// Pass username
autoType(username);
// to move to Password field
autoTab();
// Enter Password
autoType(password);
// To click on login
autoSubmit();
}

private static void autoType(String string) throws AWTException {
Robot robot = new Robot();
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection stringSelection = new StringSelection(string);
clipboard.setContents(stringSelection, null);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
}

private static void autoTab() throws AWTException {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
}

private static void autoSubmit() throws AWTException {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}

关于java - 如何使用没有 autoit 和 url 方法的 java 使用 selenium webdriver 处理浏览器的身份验证警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54239283/

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