如何使用 Java 将 Edge Driver (Chromium) 详细日志输出转储到 txt 文件中?

How to dump Edge Driver (Chromium) verbose log output into txt file using Java?

从中学习article,我成功启动了 Edge Chromium 浏览器。

else if (browser.equalsIgnoreCase("edge")) {
  System.setProperty("webdriver.edge.driver", System.getProperty("user.dir") + "\src\test\resources\msedgedriver.exe");

  System.setProperty("webdriver.edge.verboseLogging", "true");
  EdgeDriverService service = EdgeDriverService.createDefaultService();
  EdgeOptions options = new EdgeOptions();
  driver = new EdgeDriver(service, options);
  log.debug("Launching Edge");
}

当我 运行 代码时,我可以看到 Edge 在控制台中打印出一些详细的日志。

[1617234463.144][DEBUG]: DevTools WebSocket Event: DOM.childNodeCountUpdated 18CEE59C54283295B454E2340ACD283A {
   "childNodeCount": 21,
   "nodeId": 12
}
[1617234463.144][DEBUG]: DevTools WebSocket Event: DOM.childNodeCountUpdated 18CEE59C54283295B454E2340ACD283A {
   "childNodeCount": 20,
   "nodeId": 12
}

我们如何才能将冗长的日志写入 txt 文件,而不是仅打印到控制台?

我建议您尝试使用下面的示例代码进行测试,这可能会帮助您将详细日志输出存储到文本文件中。

示例 JAVA 代码:

public static void main(String[] args) 
{
    System.setProperty("webdriver.edge.driver", "Path_to_Edge_driver\msedgedriver.exe"); 
    System.setProperty("webdriver.edge.logfile", "Path_to_log_file\log.txt");
    System.setProperty("webdriver.edge.verboseLogging", "true");
        
    EdgeOptions edgeOptions = new EdgeOptions();
    //edgeOptions.addArguments("-inprivate");
       
    WebDriver driver = new EdgeDriver(edgeOptions); 
        
    driver.get("https://Your_site_address_here...");
}

此外,您可以尝试根据您的要求修改代码示例。