Исключить однотипный элемент.

  • Автор темы Автор темы mr.green
  • Дата начала Дата начала

mr.green

Client
Регистрация
26.09.2019
Сообщения
211
Реакции
126
Баллы
43
Пытаюсь написать бота , что заходит в лк. мегафона и выключает все услуги, кнопки однотипные, одна услуга не отрубается, наверно спецом сделали ,чтобы усложнить жизнь ботоводам. Кнопка имеет свои уникальные атрибуты, ее могу спарсить в переменную. А как исключить кнопку от клика?
 
изучи вопрос работы логики, ветвления, переменных. на ютубе все замечательно показано.
 
Вы эти кнопки в цикле что ли кликаете?
Перенести кубики в C#, там организовать всё тот же цикл, проверять на наличие уникального аттрибута, если он есть, то "continue";
 
Вы эти кнопки в цикле что ли кликаете?
Перенести кубики в C#, там организовать всё тот же цикл, проверять на наличие уникального аттрибута, если он есть, то "continue";
да ну какой c# .... :bw: очень похоже что даже кубики еще не очень понятны.

и да, похоже что в цикле прокликивается. вопрос только в том по какому принципу идет поиск элементов и по какому критерию организован цикл.
 
Если кубиками, тогда нужно в цикле просто перед кликом брать любой другой атрибут, найденного по уникальному атрибуту элемента, и проверять его значение. Например брать ширину и, если она больше нуля, то пропускаем итерацию. Также нужно предусмотреть выход по красной линии у этого кубика.
Надеюсь понятно объяснил)
 
Вы эти кнопки в цикле что ли кликаете?
Перенести кубики в C#, там организовать всё тот же цикл, проверять на наличие уникального аттрибута, если он есть, то "continue";
Да.
Например брать ширину и, если она больше нуля, то пропускаем итерацию.
Вот в этом и вопрос, как пропустить этот элемент, исключить?
мегаф2.pngмегаф.png
 
Выше вам написали:
Кубик получения innertext. По красной, если это не тот кубик.
Кубик условия - проверка, что innertext != "Отключить"
 
  • Спасибо
Реакции: Mikhail B.
Выше вам написали:
Кубик получения innertext. По красной, если это не тот кубик.
Кубик условия - проверка, что innertext != "Отключить"
Не понял как это поможет, не нашел изящного способа пропуска проклятой кнопки. Придется всех их обрабатывать , а хотелось бы лишь одну исключить.
 
Не понял как это поможет, не нашел изящного способа пропуска проклятой кнопки. Придется всех их обрабатывать , а хотелось бы лишь одну исключить.
ну они же не однотипные. вон, описание же у них разные. у этой "запрет услуги мобильных платежей" у других другие топики.
конечно если делаешь поиск через конструктор , то это нереализуемо, а вот если будешь делать через xpath , то там есть где развернуться.
 
  • Спасибо
Реакции: Mikhail B.
опять намеки на c# ? :ca:
на c# все что угодно можно реализовать. а вот в кубиках.... поди прояви смекалку. а если заюзать xpath то и на кубиках можно очень гибко находить элементы.
 
опять намеки на c# ? :ca:
на c# все что угодно можно реализовать. а вот в кубиках.... поди прояви смекалку. а если заюзать xpath то и на кубиках можно очень гибко находить элементы.
На кубах все можно сделать.
 
  • Спасибо
Реакции: Astraport
опять намеки на c# ? :ca:
на c# все что угодно можно реализовать. а вот в кубиках.... поди прояви смекалку. а если заюзать xpath то и на кубиках можно очень гибко находить элементы.
В очередной раз говорю, что нет ничего невозможного для классического подхода из того что можно сделать через xPath.
 
круто.
ну я то не использую классический поиск, от слова совсем. да и обычные кубы поиска элемента тоже, даже с xpath, так как где то месяц назад обнаружил, что кубик не находит элемент по xpath.
а в c# тот же xpath находится. Ну а так как нужна стабильность, то отказался от кубиков.
Ну новички пусть работают с кубами, конечно. им то еще до c# далеко. Ну опять же практику работы с базовым функционалом получат :ca:
 
  • Спасибо
Реакции: backoff
random1(0-(11)) означает рандомный клик по всем элементам кроме 11-го? Можно ли номер совпадения загнать в переменную?
zpr1.png
 
Речь о том как исключить однотипный элемент.
Например если на странице 10 чекбоксов, то никак их не исключить. Потому что по замыслу они однотипны. Мало вводной инфы. Я обычно использую innertext если элемент вызывает сомнения в уникальности.
 
смотри, названия и кнопки это элементы. И они идут по порядку. По этому можно собрать названия и номера совпадений в список. И потом уже брать нужные и кликать.

Задача не простая, не для новичка. Но можешь попробовать)
 
После авторизации на сайте мегафон поставь эти экшены, но тут не все экшены дописаны (остались простые, думаю сам сможешь дописать). Удалять у себя услуги мегафона не буду, поэтому и экшены не все и отладку не делал. Переменная uslugaminus - название услуги которую надо пропустить, установи точное текстовое значение как на сайте. Логика шаблона: сначала удаляем услуги до нужной, потом удаляем услуги после нужной. Паузу задай такую чтобы удаленной услуги уже не было на странице услуг.
 

Вложения

  • Спасибо
Реакции: mr.green
После авторизации на сайте мегафон поставь эти экшены, но тут не все экшены дописаны (остались простые, думаю сам сможешь дописать). Удалять у себя услуги мегафона не буду, поэтому и экшены не все и отладку не делал. Переменная uslugaminus - название услуги которую надо пропустить, установи точное текстовое значение как на сайте. Логика шаблона: сначала удаляем услуги до нужной, потом удаляем услуги после нужной. Паузу задай такую чтобы удаленной услуги уже не было на странице услуг.
Спасибо конечно, но я на 5рке сижу, обновится сейчас нет возможности.
 
Спасибо конечно, но я на 5рке сижу, обновится сейчас нет возможности.
у тебя настолько древняя 5-ка ?
если да, то вопрос снят, если нет, то что мешает поставить 7-ку, соответствующей версии рядом с 5-кой ? денег эта операция не просит.
 

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