Почему со временем меняются значения в конструкторе действий

  • Автор темы Автор темы SlavenTyz
  • Дата начала Дата начала

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 173
Реакции
37
Баллы
48
Всем привет

Написал бот для отправки писем с почты mail.ru. Пару дней все хорошо работало, сегодня стали появляется ошибки, обратил внимание на то, что везде изменился 1-н элемент в Значениях к примеру mailbox:login на mailbox__login. С чем это может быть связано, может с палился Бот который я написал или у них регулярно такие изменения
 

Вложения

  • 111111111111111.jpg
    111111111111111.jpg
    303,6 KB · Просмотры: 608
Я думаю что меняют часто. Я тут регер писал недавно. Работало все норм. А месяц спустя вон сижу с нуля переписываю. Не цепляется за многие элементы.
 
Я думаю, что у них должны быть стандартная замена элементов к примеру : меняют на __ и еще парачка элементов. Если эти элементы прописать в регулярное выражение, тогда все хорошо будет. Может кто-нибудь фиксировал такие изминения
 
Я думаю, что у них должны быть стандартная замена элементов к примеру : меняют на __ и еще парачка элементов. Если эти элементы прописать в регулярное выражение, тогда все хорошо будет. Может кто-нибудь фиксировал такие изминения
Помимо того, что периодически бывают изменения, так еще бывает немного разная верстка сайта из-за разных юзер-агентов. По-этому нужно прописывать все значения, которые Вы отловили регуляркой, т.е. чтобы шаблон мог обрабатывать и такое и другое!
 
Помимо того, что периодически бывают изменения, так еще бывает немного разная верстка сайта из-за разных юзер-агентов.
Но юзер-агент мы же можем задавать или админы сайта могут в этих данных, что то по менять
 
Но юзер-агент мы же можем задавать или админы сайта могут в этих данных, что то по менять
Можем задавать. Но Вы же не будете задавать всегда один и тот же. Лучше делать универсальные решения, тем более принцип, как это делать Вы поняли.
 
На популярны сайтах это нормальное дело. Там часто меняются всяческие id элементов. Бывает что это значение и вовсе может быть динамическим, т.е меняющимся при каждой загрузке страницы.
...Если планируете более-менее регулярно пользоваться данным шаблоном, то можно попробовать делать предварительный парсинг этих значений с последующей подстановкой. Тогда придется править шаблон реже.
 
..Если планируете более-менее регулярно пользоваться данным шаблоном, то можно попробовать делать предварительный парсинг этих значений с последующей подстановкой.
А как это делать?
 
Может ссылку скинете на эти уроки
Код:
Развернуть Свернуть Копировать
var login = project.Variables["login"].Value;
var password = project.Variables["password"].Value;

var rnd = new Random();
Tab tab1 = instance.ActiveTab;

//Логин
var logn = tab1.FindElementByXPath("//input[@placeholder = 'Имя ящика']", 0);         
logn.Click();//клик по полю
instance.SendText(login, rnd.Next(250, 500));//вводим с рандомной задержкой в миллисекундах

//пароль
var pass = tab1.FindElementByXPath("//input[@placeholder = 'Пароль']", 0);
pass.Click();//клик по полю
instance.SendText(password, rnd.Next(250, 500));//вводим с рандомной задержкой в миллисекундах

//жмем кнопку Войти
var submit = tab1.FindElementByXPath("//input[@value = 'Войти']", 0);
submit.Click();
 
А как это делать?
1. В браузере Зеннопостера берете код страницы и отправляете его в Тестер регулярных выражений.
2. В Тестере рег. выр. создаете регулярное выражение которое будет отлавливать нужный id или класс (в Вашем случае "mailbox:login").
3. Вставляете получившееся регулярное выражение в экшен "Взять DOM", предварительно отметив чебокс "Парсить результат".
4. После экшена "Взять DOM" ставите экшен, который будет кликать по нужному элементу или вводить текст (что там у Вас). Только в поле "Значение" у вас уже должен стоять, например, не "mailbox:login", а переменная из экшена "Взять DOM"
 
  • var login = project.Variables["login"].Value;
  • var password = project.Variables["password"].Value;
  • var rnd = new Random();
  • Tab tab1 = instance.ActiveTab;
  • //Логин
  • var logn = tab1.FindElementByXPath("//input[@placeholder = 'Имя ящика']", 0);
  • logn.Click();//клик по полю
  • instance.SendText(login, rnd.Next(250, 500));//вводим с рандомной задержкой в миллисекундах
  • //пароль
  • var pass = tab1.FindElementByXPath("//input[@placeholder = 'Пароль']", 0);
  • pass.Click();//клик по полю
  • instance.SendText(password, rnd.Next(250, 500));//вводим с рандомной задержкой в миллисекундах
  • //жмем кнопку Войти
  • var submit = tab1.FindElementByXPath("//input[@value = 'Войти']", 0);
  • submit.Click();

Интересная программа, только вводятся значения в Логина и пароля в 1-ой строке поиска. Но смысл понятен. Можете поделится уроками по XPath
 
Всем привет

Написал бот для отправки писем с почты mail.ru. Пару дней все хорошо работало, сегодня стали появляется ошибки, обратил внимание на то, что везде изменился 1-н элемент в Значениях к примеру mailbox:login на mailbox__login. С чем это может быть связано, может с палился Бот который я написал или у них регулярно такие изменения
используй ввод через эмуляцию клавиатуры, не будет таких хлопот с майлом
 
используй ввод через эмуляцию клавиатуры, не будет таких хлопот с майлом
Как можно задействовать эмуляцию клавиатуры, если не определяется элемент в который нужно внести значения
 

Похожие темы

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