c# - ChromeDriver 未记录
问题描述
我正在像这样开始我的硒驱动的无头镀铬:
var options = new ChromeOptions();
options.AcceptInsecureCertificates = true;
options.AddArgument("--disable-gpu");
options.AddArgument("--no-sandbox");
options.AddArgument("--ignore-certificate-errors");
options.AddArgument("--disable-web-security");
options.AddArgument("--allow-insecure-localhost");
options.AddArgument("--allow-running-insecure-content");
options.AddArgument("--acceptInsecureCerts=true");
options.AddArgument("--proxy-server='direct://'");
options.AddArgument("--proxy-bypass-list=*");
options.AddArgument("--disable-extensions");
options.AddArgument("--disable-infobars");
options.AddArgument("--window-size=1920,1080");
options.AddArgument("--incognito");
options.AddArgument("--headless");
options.AddArgument("--log-level=ALL");
options.AddArgument("log-path=c:\\chromedriver.log");
options.SetLoggingPreference(OpenQA.Selenium.LogType.Driver, OpenQA.Selenium.LogLevel.All);
var svc = ChromeDriverService.CreateDefaultService();
svc.Port = RandomHelper.Randomiser.Next(29700, 29900);
Context.Driver = new ChromeDriver(svc, options, TimeSpan.FromMinutes(2));
但是,在运行(并看到成功的测试输出 - 失败和通过测试)之后,我在c:\chromedriver.log
.
我究竟做错了什么?
解决方案
用 Selenium 开发真的很令人沮丧,但找到了如何用 ChromeDriver 登录:
var options = new ChromeOptions();
options.AcceptInsecureCertificates = true;
options.AddArgument("--disable-gpu");
options.AddArgument("--no-sandbox");
options.AddArgument("--ignore-certificate-errors");
options.AddArgument("--disable-web-security");
options.AddArgument("--allow-insecure-localhost");
options.AddArgument("--allow-running-insecure-content");
options.AddArgument("--acceptInsecureCerts=true");
options.AddArgument("--proxy-server='direct://'");
options.AddArgument("--proxy-bypass-list=*");
options.AddArgument("--disable-extensions");
options.AddArgument("--disable-infobars");
options.AddArgument("--window-size=1920,1080");
options.AddArgument("--incognito");
options.AddArgument("--headless");
options.AddArgument("--log-level=ALL");
options.AddArgument("log-path=c:\\chromedriver.log");
options.SetLoggingPreference(OpenQA.Selenium.LogType.Driver, OpenQA.Selenium.LogLevel.All);
var svc = ChromeDriverService.CreateDefaultService();
svc.Port = RandomHelper.Randomiser.Next(29700, 29900);
svc.LogPath = @"c:\chromedriver.log";
svc.EnableVerboseLogging = true;
options.SetLoggingPreference(LogType.Browser, LogLevel.All);
options.SetLoggingPreference(LogType.Client, LogLevel.All);
options.SetLoggingPreference(LogType.Driver, LogLevel.All);
options.SetLoggingPreference(LogType.Profiler, LogLevel.All);
options.SetLoggingPreference(LogType.Server, LogLevel.All);
Context.Driver = new ChromeDriver(svc, options, TimeSpan.FromMinutes(2));
推荐阅读
- pandas - 我怎样才能找到数据框熊猫中极少数项目之间的相关性
- mysql - 在循环内运行 CASE 语句
- linux - 描述正在运行的 Linux 进程
- android - 选项卡布局中间选项卡不平滑滚动
- javascript - 这行代码在数组中找到最大元素,有人可以告诉我这段代码是如何使用reduce完成的吗?
- c - 我什么时候应该释放双指针?
- angular - MathJax 未定义角度 4
- c# - 如何在 rdlc 文件中使用表控件而不在 C# windows 窗体应用程序中使用任何数据库
- react-native - 意外使用保留字'import React-native
- oauth-2.0 - OpenIdConnect 的 id_token 是干什么用的?