падает на последней строке
KillProcesses();
s_proxyServer = new ProxyServer();
// X509Certificate2 cert = new X509Certificate2(
//System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6)
//+ "\\proxy.pfx", "qaz123");
// s_proxyServer.CertificateManager.RootCertificate = cert;
s_proxyServer.CertificateManager.EnsureRootCertificate();
//s_proxyServer.CertificateManager.CreateRootCertificate(true);
s_proxyServer.CertificateManager.CertificateEngine = CertificateEngine.DefaultWindows;//BouncyCastle;
s_proxyServer.BeforeResponse += ProxyServer_BeforeResponse;
var explicitEndPoint = new ExplicitProxyEndPoint(IPAddress.Loopback, _port, true);
explicitEndPoint.BeforeTunnelConnectRequest += ExplicitEndPoint_BeforeTunnelConnectRequest;
s_proxyServer.AddEndPoint(explicitEndPoint);
s_proxyServer.Start();
ChromeOptions options = new ChromeOptions();
options.AddArguments("--proxy-server=" + IPAddress.Loopback + ":" + _port);
options.AddArguments("--window-size=20,20");
options.AddArgument("user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36");
options.AddArgument("headless");
ChromeDriverService service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
driver = new ChromeDriver(service, options);
driver.Manage().Window.Minimize();
driver.Navigate().GoToUrl("https://account.reverso.net/Account/Logout");
var needLogout = IsElementPresent(By.XPath("//button[text() = 'Log out']"));
string str;
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
if (needLogout)
{
var logOutButton = driver.FindElement(By.XPath("//button[text() = 'Log out']"));
str = "arguments[0].click()";
js.ExecuteScript(str, logOutButton);
}
var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 30));
driver.Navigate().GoToUrl("https://account.reverso.net/Account/Login");
wait.Until(c => c.FindElement(By.Id("Email")));
но когда в отладчике запускаю, то отрабатывает без ошибок
Здравствуйте, vaa, Вы писали:
vaa>Здравствуйте, dsalodki, Вы писали:
D>>падает на последней строке
vaa>Неплохо бы тип ошибки, текст, стэктрэйс
сейчас не могу дать, но типа элемент не найден — таймаут
вообще вроде пофиксил, может из-за обфускатора, он не корректно откатился наверное
фикс в том то сначала добавил код который в комментах и потом сбилдил запустил, потом закоментил и сделал код как сейчас
очень странно, поэтому думаю что из-за обфускатора
private bool IsElementPresent(By by)
{
try
{
driver.FindElement(by);
//var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
//wait.Until(x=>x.FindElement(by));
return true;
}
catch (NoSuchElementException)
{
return false;
}
}