首页 > 解决方案 > 如何使用 Java 将 Edge Driver (Chromium) 详细日志输出转储到 txt 文件中?

问题描述

从这篇文章中学习,我设法启动了一个 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 文件,而不是仅打印到控制台?

标签: javaseleniumselenium-webdriverselenium-chromedrivermicrosoft-edge

解决方案


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

示例 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...");
}

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


推荐阅读