C# Selenium. Как написать цикл?
Хочу написать цикл на c#. Сделать так, чтобы после неправильного ввода капчи, просил еще раз вводить, а не прекращал работу. На следующей странице есть элемент, пытался через него сделать так, чтобы пока не увидит элемент на след.странице - не прекращал работу. Но не получается. Надо, чтобы вот этот код:
ww.Until(driver =>
{
var size =
driver.FindElement(By.XPath("//input[@name='Captcha']")).GetAttribute("value").Length;
if (size >= 6)
{
driver.FindElement(By.XPath("//*[contains(text(), 'Tuti')]")).Click();
return true;
}
else
{
return false;
}
});
Повторялся, пока не будет найден элемент: By.XPath("//*[contains(text(),'skachat')]
Ответы (1 шт):
Автор решения: Lorn Lifofsky
→ Ссылка
Не особо разбираюсь в Selenium, но можно попробовать так
ww.Until(driver =>
{
try
{
driver.FindElement(By.XPath("//*[contains(text(),'skachat')]"));
//Stop
}
catch (NoSuchElementException)
{
var size = driver.FindElement(By.XPath("//input[@name='Captcha']")).GetAttribute("value").Length;
if (size >= 6)
{
driver.FindElement(By.XPath("//*[contains(text(), 'Tuti')]")).Click();
return true;
}
else
{
return false;
}
}
});