小编sat*_*iya的帖子

无法处理无头Chrome中的Microsoft登录身份验证弹出窗口[使用Java的硒]

我正在自动化Web应用程序以在Headless Chrome中运行。ChromeDriver版本:-ChromeDriver 74.0.3729.6应用程序登录屏幕弹出窗口,用于输入用户名和密码。我使用警报来处理普通Chrome中的弹出窗口

WebDriverWait wait = new WebDriverWait(driver, 18);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.sendKeys("username" + Keys.TAB + "password");
alert.accept(); 
Run Code Online (Sandbox Code Playgroud)

将Chrome设置为无头时,则不会显示Windows弹出窗口。我只能在屏幕截图中看到黑屏。

另外,我尝试将chromeoptions添加为

String path = "path to chromedriver";
System.setProperty("webdriver.chrome.driver", path);
System.setProperty("webdriver.chrome.logfile", "./chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--disable-gpu");
options.addArguments("--disable-popup-blocking");
driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

ChromeDriverLog的默认值为

"default_content_settings": {
         "geolocation": 1,
         "mouselock": 1,
         "notifications": 1,
         "popups": 1,
         "ppapi-broker": 1
      }
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome windows-authentication selenium-chromedriver google-chrome-headless

3
推荐指数
1
解决办法
342
查看次数