我正在使用Selenium.WebDriver.Chrome 2.40.0
根据文档,允许以下内容
var co = new ChromeOptions();
co.SetLoggingPreference(LogType.Browser, LogLevel.All);
co.SetLoggingPreference(LogType.Client, LogLevel.All);
co.SetLoggingPreference(LogType.Driver, LogLevel.All);
co.SetLoggingPreference(LogType.Profiler, LogLevel.All);
co.SetLoggingPreference(LogType.Server, LogLevel.All);
但是,当我实际尝试访问Client
时,我得到的Server
和Profiler
日志(在stderr上(
Starting ChromeDriver 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) on port 56426
Only local connections are allowed.
[1529414019.263][WARNING]: Ignoring unrecognized log type: client
[1529414019.266][WARNING]: Ignoring unrecognized log type: profiler
[1529414019.266][WARNING]: Ignoring unrecognized log type: server
访问这三个日志对象会很有帮助。我如何访问它们(如果有的话(?
额外细节
根据有关 LogType 的文档,有 5 个可能的值:Browser
、Client
、Driver
、Profiler
和Server
。塔伦·拉尔瓦尼(Tarun Lalwani(建议(见评论(也有一个Performance
但我看不到任何迹象。
我不明白为什么文档说有五个,但在操作上只有Browser
和Driver
.
如果你看一下ChromeDriver源代码
https://chromium.googlesource.com/experimental/chromium/src/+/5c38bafbf04d6196493d4bec1a851b45a1c07d12/chrome/test/chromedriver/logging.cc#124
} // namespace
const char WebDriverLog::kBrowserType[] = "browser";
const char WebDriverLog::kDriverType[] = "driver";
const char WebDriverLog::kPerformanceType[] = "performance";
bool WebDriverLog::NameToLevel(const std::string& name, Log::Level* out_level) {
for (size_t i = 0; i < arraysize(kNameToLevel); ++i) {
if (name == kNameToLevel[i].name) {
*out_level = kNameToLevel[i].level;
return true;
}
}
return false;
}
它只支持browser
、driver
和performance
。对于其他的,您会收到警告,这是正确的
所以规范的答案是(鼓声(...
列出的只是可能的日志类型。例如,服务器 仅当您使用实现此功能的服务器时,才可用 日志(如硒服务器(。您可以查看哪些日志类型是 通过使用 GetAvailableLogTypes 方法从终结点中可用