Yandex и XPath

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Хочу зайти в почту с таким кодом
C#:
instance.ClearCache();
instance.ClearCookie();

Tab Active = instance.ActiveTab;

Active.Navigate("https://passport.yandex.by/auth");
Active.WaitDownloading();

Active.FindElementByXPath("//input[@id='passp-field-login']", 0).SetValue("[email protected]", "Full");
Thread.Sleep(new Random().Next(500, 1000));

Active.FindElementByXPath("//button[@class='passp-form-button']", 0).RiseEvent("click", "Full");
Thread.Sleep(new Random().Next(1100, 1300));

Active.FindElementByXPath("//input[@id='passp-field-passwd']", 0).SetValue("sdfsdfyuO", "Full");
Thread.Sleep(new Random().Next(500, 1000));

Active.FindElementByXPath("//span[contains(text(), 'Войти')]", 0).RiseEvent("click", "Full");
Но на вводе пароля - стоп. Не вводится, хотя путь XPath верный.
В чем закавыка?
 

Reactor3000

Client
Регистрация
25.09.2019
Сообщения
434
Благодарностей
263
Баллы
63
Если разделить на 2 кубика, то все работает =)
 

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Поделил так
C#:
instance.ClearCache();
instance.ClearCookie();

Tab Active = instance.ActiveTab;

Active.Navigate("https://passport.yandex.by/auth");
Active.WaitDownloading();

Active.FindElementByXPath("//input[@id='passp-field-login']", 0).SetValue("[email protected]", "Full");
Thread.Sleep(new Random().Next(500, 1000));

Active.FindElementByXPath("//button[@class='passp-form-button']", 0).RiseEvent("click", "Full");
Thread.Sleep(new Random().Next(1100, 1300));
и так
Код:
Tab Active = instance.ActiveTab;
Active.FindElementByXPath("//input[@id='passp-field-passwd']", 0).SetValue("sdfsdfyuO", "Full");
Thread.Sleep(new Random().Next(500, 1000));

Active.FindElementByXPath("//span[contains(text(), 'Войти')]", 0).RiseEvent("click", "Full");
Все равно не работает
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
Хочу зайти в почту с таким кодом
немного надо было поправить код и все работает
C#:
instance.ClearCache();
instance.ClearCookie();

Tab Active = instance.ActiveTab;

Active.Navigate("https://passport.yandex.by/auth");
Active.WaitDownloading();

Active.FindElementByXPath("//input[@id='passp-field-login']", 0).SetValue("[email protected]", "Full");
Thread.Sleep(new Random().Next(500, 1000));

Active.FindElementByXPath("//button[contains(@class, 'button2_theme_action')]/span[text()='Войти']|//span[contains(text(), 'Войти')]", 0).RiseEvent("click", "Full");//тут допустимо 2 варианта пути, оба работают нормально
Thread.Sleep(new Random().Next(1100, 1300));

Active.FindElementByXPath("//input[@id='passp-field-passwd']", 0).SetValue("sdfsdfyuO", "Full");
Thread.Sleep(new Random().Next(500, 1000));

Active.FindElementByXPath("//span[contains(text(), 'Войти')]", 0).RiseEvent("click", "Full");
 
  • Спасибо
Реакции: soprano

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)