@spam спасибо попробую
Модальные окна, как их обрабатывать
-
@FastSpace said in Модальные окна, как их обрабатывать:
Скорее всего человек греет профиля.
Нет, просто при логе в акк бывает вылазиет окно, и не всегда одно и тоже(мы там что то обновили на сайте, как вам такое предложение, примите куки и прочее) На нескольких сайтах встречался с таким, и при появлении окна нового типа логика естественно сыпалась и приходилось писать новый костыль для новообразовавшегося окна. Хотелось узнать возможно ли универсальное решение под подобные окна.
-
Код действия "Двигать Мышь И Кликнуть На Элемент" с добавленной проверкой перекрытия элемента в точке клика:
_SELECTOR = " \u003eCSS\u003e .catalog-menu \u003e .green-button"; wait_element_visible(_SELECTOR)! _call(_random_point, {})! _if(_result().length > 0, function () { move({})! get_element_selector(_SELECTOR, false).clarify(X, Y)! _call(_clarify, {})! get_element_selector(_SELECTOR, false).script("document.elementFromPoint(" + X + ", " + Y + ") == self")! _cycle_params().if_else = (_result() == "true"); _if(_cycle_params().if_else, function () { log("Клик") mouse(X, Y)! })! _if(!_cycle_params().if_else, function () { log("Элемент для клика скрыт другим элементом") })! })!Тестовый скрипт
Для удобства использования можно создать свой модуль с этим кастомным действием.
-
@FastSpace said in Модальные окна, как их обрабатывать:
@Fox Это бы в сборочку добавить баса официально.
Официально не добавят, я спросил. Но как я и писал выше, можно создать своё действие с этой опцией в кастомном модуле.
-
@Fox said in Модальные окна, как их обрабатывать:
@FastSpace said in Модальные окна, как их обрабатывать:
@Fox Это бы в сборочку добавить баса официально.
Официально не добавят, я спросил. Но как я и писал выше, можно создать своё действие с этой опцией в кастомном модуле.
В общем спасибо за решение. Добавил в шаб прогрева, все работает четко. Оказалось таких сайтов не мало ))
-
@FastSpace а чем тебе это решение помогло? Окно же оно не закрывает. У меня подобное решение тоже используется
-
@UserTrue said in Модальные окна, как их обрабатывать:
@FastSpace а чем тебе это решение помогло? Окно же оно не закрывает. У меня подобное решение тоже используется
Тем что раньше были клики в пустую, сделал что если 5 элементов подряд не видны, значит что-то закрыло их и бот закрывает этот сайт.
-
Чето я поспешил, в общем если элемент находиться вне видимой зоны экрана, то экшен сначала крутит к нему мышку, но то JS скрипт отдасть false типо он скрыт. Также где-то с шансом 1 к 5 срабатывает ложно. Элемент на самом деле виден, но js отдает нет.
Я бы конечно сам проскролил, но там действие "прокрутка к элементу" палевная, крутит скрол за 1 сек.
-
@FastSpace да поэтому у меня это сделано немного по-другому. Я получаю ссылки и проверяю их на доступность, но делаю это все скриптом в браузере, поэтому хоть 500 ссылок проверяет очень быстро.
-
@UserTrue said in Модальные окна, как их обрабатывать:
@FastSpace да поэтому у меня это сделано немного по-другому. Я получаю ссылки и проверяю их на доступность, но делаю это все скриптом в браузере, поэтому хоть 500 ссылок проверяет очень быстро.
Кликаешь только по href=xxx? Ну как-то не оч. это.
-
@FastSpace нет, сейчас и по кнопкам и рекламе
-
@UserTrue said in Модальные окна, как их обрабатывать:
@FastSpace нет, сейчас и по кнопкам и рекламе
Решение от @Fox не работает как надо, пойду курить сайт learn.javascript
- Если элемент находиться не видимой зоны экрана = false
- Если элемент имеет часть внутри развертки элемента, тоже false. Шас только что элемент кнопки на ютубе отдал false :( хотя кнопку видно 100% и ничего не закрывает.
-
@UserTrue said in Модальные окна, как их обрабатывать:
@FastSpace да поэтому у меня это сделано немного по-другому. Я получаю ссылки и проверяю их на доступность, но делаю это все скриптом в браузере, поэтому хоть 500 ссылок проверяет очень быстро.
Только шас дошло, типо ты как попал на страницу сразу чекаешь кучу ссылок и если ну прям все закрыто, то только это значит их что-то закрыло?
-
@FastSpace ну он показал вам куда смотреть ))
-
@FastSpace said in Модальные окна, как их обрабатывать:
@UserTrue said in Модальные окна, как их обрабатывать:
@FastSpace нет, сейчас и по кнопкам и рекламе
Решение от @Fox не работает как надо, пойду курить сайт learn.javascript
- Если элемент находиться не видимой зоны экрана = false
Чегось? А как кликать по такому элементу?
- Если элемент имеет часть внутри развертки элемента, тоже false. Шас только что элемент кнопки на ютубе отдал false :( хотя кнопку видно 100% и ничего не закрывает.
Ну у меня простое сравнение html элементов по координатам, напишите функцию проверки является ли один html элемент дочерним другому
-
@FastSpace said in Модальные окна, как их обрабатывать:
@Fox said in Модальные окна, как их обрабатывать:
Чегось? А как кликать по такому элементу?
Всмысле элемент ничего не закрывает, он просто находиться за пределами видимой области.
вы про прокрутку страницы или про стиль элемента?
-
@Fox said in Модальные окна, как их обрабатывать:
@FastSpace said in Модальные окна, как их обрабатывать:
@Fox said in Модальные окна, как их обрабатывать:
Чегось? А как кликать по такому элементу?
Всмысле элемент ничего не закрывает, он просто находиться за пределами видимой области.
вы про прокрутку страницы или про стиль элемента?
Прокрутка. Вот я выбрал случайный элемент к которому надо скролить, js код тот выдаст false.
-
@FastSpace said in Модальные окна, как их обрабатывать:
@Fox said in Модальные окна, как их обрабатывать:
@FastSpace said in Модальные окна, как их обрабатывать:
@Fox said in Модальные окна, как их обрабатывать:
Чегось? А как кликать по такому элементу?
Всмысле элемент ничего не закрывает, он просто находиться за пределами видимой области.
вы про прокрутку страницы или про стиль элемента?
Прокрутка. Вот я выбрал случайный элемент к которому надо скролить, js код тот выдаст false.
Координаты берутся относительно окна браузера, а не страницы. При использовании кода действия этого не произойдёт, так как проверка идёт после прокуртки страницы, перед кликом.
-
@Fox said in Модальные окна, как их обрабатывать:
Координаты берутся относительно окна браузера, а не страницы. При использовании кода действия этого не произойдёт, так как проверка идёт после прокуртки страницы, перед кликом.
В любом случае очень много выдает где false, хотя элемент виден. Попробуй на ютубе, особо там.