for (int i = 1; ; i++)
{
IWebElement Badooms = driver.FindElement(By.XPath("*//div/div[2]/div/div[2]/input[1]"));
Actions perfrom = new Actions(driver);
perfrom.MoveToElement(Badooms).Build().Perform();
perfrom.Click(Badooms).Build().Perform();
Thread.Sleep(3500);
driver.SwitchTo().Window(driver.WindowHandles.Last());
Thread.Sleep(500);
IWebElement knopkus;
try
{
knopkus = driver.FindElement(By.CssSelector("#container > div.main-content > div > div > div > div:nth-child(3) > span"));
}
catch(NoSuchElementException)
{
/*При нажатии на "Badooms" происходит открытие нового окна. Если не открывается, то срабатывает исключение и цикл
завершается, что теперь и происходит постоянно. Но в том-то и дело, что новое окно открывается и данный элемент есть
на странице. Уже 10 раз перепроверил.*/
break;
}
try
{
IWebElement problemus = driver.FindElement(By.CssSelector("#container > div.main-content > div > div > div > div:nth-child(2) > a"));
}
catch(NoSuchElementException)
{
Actions bttn = new Actions(driver);
bttn.MoveToElement(knopkus).Build().Perform();
bttn.Click(knopkus).Build().Perform();
}
driver.Close();
driver.SwitchTo().Window(driver.WindowHandles.First());
}
Actions wt0_2 = new Actions(driver); /*Программа постоянно прыгает сюда, т.к. цикл прерывается. Но окно, открытое по нажатию
на элемент "Badooms", активно. Соответственно, вылетают ошибки об отстутсвии элемента.*/
wt0_2.MoveToElement(button2).Build().Perform(); //Элемент "button2" задан ранее. Перед циклом.
wt0_2.Click(button2).Build().Perform();
Еще вчера утром данный код работал так, как мне надо. Без каких-либо ошибок. В нём и на искомом сайте ничего не менялось. Проверил уже 10ки раз...
В логе просто выдает, что программа остановлена по ошибке Seleniuma о невозможности найти нужный элемент. Но всё эти элементы, их идентификаторы, пути и селекторы, которые используются в программе, остались на месте. Никто ничего не менял.