【发布时间】:2020-06-09 20:56:36
【问题描述】:
我正在尝试在循环中加载带有 selenium 的页面,它会到达第 300 项左右,然后抛出此异常。
罪魁祸首似乎是这一行
_selenium.Navigate().GoToUrl(url);
所以我做了一个快速的谷歌搜索并尝试了所有的解决方案,要么它们与我无关(docker),要么它们不起作用。
这里是例外
Unhandled exception. OpenQA.Selenium.WebDriverException: unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed
(Session info: chrome=77.0.3865.90)
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.set_Url(String value)
at StressTestSelenium.Browser.BrowserHandler.Visit(String url) in /home/ash/Desktop/StressTestSelenium/StressTestSelenium/Browser/BrowserHandler.cs:line 33
at StressTestSelenium.Program.Main(String[] args) in /home/ash/Desktop/StressTestSelenium/StressTestSelenium/Program.cs:line 24
它没有表明发生了什么,浏览器实例立即关闭。
这是我的代码的最小示例
var chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("--disable-notifications");
// chromeOptions.AddArgument("--headless");
chromeOptions.AddArgument("--user-agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36\"");
chromeOptions.AddArgument("--incognito");
var service = ChromeDriverService.CreateDefaultService();
service.SuppressInitialDiagnosticInformation = true;
service.EnableVerboseLogging = false;
var _selenium = new ChromeDriver(service, chromeOptions);
foreach (var url in repository.Links)
{
_selenium.Navigate().GoToUrl(url);
Thread.Sleep(2500);
}
【问题讨论】: