Chrome DevTools ロギング機能
CDP を使用したロギング機能。
Selenium 4 は Chrome DevTools Protocol への直接アクセスを提供しますが、WebDriver BiDi が実装されると、これらのメソッドは最終的に削除される予定です。
コンソールログ
((HasLogEvents) driver).onLogEvent(consoleEvent(e -> messages.add(e.getMessages().get(0))));
async with driver.bidi_connection() as session:
async with Log(driver, session).add_listener(Console.ALL) as messages:
using IJavaScriptEngine monitor = new JavaScriptEngine(driver);
var messages = new List<string>();
monitor.JavaScriptConsoleApiCalled += (_, e) =>
{
messages.Add(e.MessageContent);
};
await monitor.StartEventMonitoring();
driver.on_log_event(:console) { |log| logs << log.args.first }
JavaScript の例外
async with driver.bidi_connection() as session:
async with Log(driver, session).add_js_error_listener() as messages:
using IJavaScriptEngine monitor = new JavaScriptEngine(driver);
var messages = new List<string>();
monitor.JavaScriptExceptionThrown += (_, e) =>
{
messages.Add(e.Message);
};
await monitor.StartEventMonitoring();
driver.on_log_event(:exception) { |exception| exceptions << exception }