How to enable chromedriver logging in from the selenium webdriver

丶灬走出姿态 提交于 2020-12-01 10:28:07

问题


How can I enable the chromedriver verbose logging capabilities from within the selenium webdriver?

I found the appropriate methods loggingTo and enableVerboseLogging but cannot seem to use them prtoperly:

require('chromedriver');
const webdriver = require('selenium-webdriver');

let capabilities = webdriver.Capabilities.chrome();
capabilities.setScrollBehavior(1);
let builder = new webdriver.Builder().withCapabilities(capabilities);
builder.enableVerboseLogging(); // fails!!!
let driver = builder.build();

回答1:


In comment of chrome.js, there is a way to enable logging for chromewebdriver

 *
 * By default, every Chrome session will use a single driver service, which is
 * started the first time a {@link Driver} instance is created and terminated
 * when this process exits. The default service will inherit its environment
 * from the current process and direct all output to /dev/null. You may obtain
 * a handle to this default service using
 * {@link #getDefaultService getDefaultService()} and change its configuration
 * with {@link #setDefaultService setDefaultService()}.
 *
 * You may also create a {@link Driver} with its own driver service. This is
 * useful if you need to capture the server's log output for a specific session:
 *
 *     let chrome = require('selenium-webdriver/chrome');
 *
 *     let service = new chrome.ServiceBuilder()
 *         .loggingTo('/my/log/file.txt')
 *         .enableVerboseLogging()
 *         .build();
 *
 *     let options = new chrome.Options();
 *     // configure browser options ...
 *
 *     let driver = chrome.Driver.createSession(options, service);
 *

Also you have other option:

  • Running ChromeDriver as a standalone process

Since the ChromeDriver implements the wire protocol, it is fully compatible with any RemoteWebDriver client. Simply start up the ChromeDriver executable (that works as a server) with arguments --log-path and --verbose, create a client, and away you go:

WebDriver driver = new RemoteWebDriver(
  "http://localhost:9515",
  DesiredCapabilities.chrome()
);
driver.get("http://www.google.com");


来源:https://stackoverflow.com/questions/42803545/how-to-enable-chromedriver-logging-in-from-the-selenium-webdriver

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!