javascript confirm и еще пару вопросов
javascript confirm и еще пару вопросов
Привет, ребята помогите разобраться, после нажатия на кнопку формы, появляется всплывающее окно на котором нужно нажать кнопку, подскажите как это сделать (смотри скриншот)
Пробовал $app->restart но оно перезагружает полностью программу а не скрипт.
Спасибо за помощь!
Еще есть вопрос, подскажите какой командой рестартовать скрипт? (ситуация такая: заходим на сайт, проверяем заголовок, если заголовок ПОКА, значит нужно перезапустить скрипт заново пока не увидим заголовок ПРИВЕТ)Пробовал $app->restart но оно перезагружает полностью программу а не скрипт.
Спасибо за помощь!
Re: javascript confirm и еще пару вопросов
для обработки сообщения можно попробовать использовать функцию $window->execute_prompt , а для перезапуска скрипта $debug->run_current_script
Ещё такой момент, если у вас скрипт работает длительное время то всё таки лучше делать перезапуск вместе с программой при этом можно добавить в настройках галочки для отчистки кэша и куков, если конечно есть необходимость их чистить. А так перезапуск программы позволяет сбросить используемую память программы на минимум. Также можно для подобной работы использовать облегчённую версию программы XWeb Human Emulator Studio RT.exe, она будет перезапускать быстрее. Единственное что настройки программы нужно задать сначала в обычной версии, либо задавать их в самом скрипте.
Ещё такой момент, если у вас скрипт работает длительное время то всё таки лучше делать перезапуск вместе с программой при этом можно добавить в настройках галочки для отчистки кэша и куков, если конечно есть необходимость их чистить. А так перезапуск программы позволяет сбросить используемую память программы на минимум. Также можно для подобной работы использовать облегчённую версию программы XWeb Human Emulator Studio RT.exe, она будет перезапускать быстрее. Единственное что настройки программы нужно задать сначала в обычной версии, либо задавать их в самом скрипте.
Re: javascript confirm и еще пару вопросов
Ребят чет не рестартуется скрипт.
После $app->restart() перезагружает программу, а скрипт на выполнение не запускает.
После $debug->run_current_script() выдает ошибку, а если сначала $app->quit() а потом $debug->run_current_script() вообще не чего не происходит.
Еще вопрос, скрипт при выполнении всегда каждое свое действие открывает в новой вкладке, а не забьет ли это оперативную память если скрипт будет работать долго ?
После $app->restart() перезагружает программу, а скрипт на выполнение не запускает.
После $debug->run_current_script() выдает ошибку, а если сначала $app->quit() а потом $debug->run_current_script() вообще не чего не происходит.
Код: Выделить всё
if($webpage->get_title() == "403 - Forbidden: Access is denied.") {
echo "Ошибка 403. Перезапуск бота.".'<br>';
$debug->run_current_script();
} else {
echo "Страница найдена. Работаем.".'<br>';
}
Re: javascript confirm и еще пару вопросов
Для перезапуска скрипта вместе с программой нужно использовать функцию $app->restart вот так:
Если скрипт работает долго то лучше перезапускать его вместе с программой. Количество потребляемой памяти зависит от сайта с которым работает скрипт, если сайт простой то памяти будет уходить меньше, если сайт тяжёлый то памяти может хватить только на 4-5 итераций после чего надо перезапускать программу.
Также для меньшего потребления ресурсов компьютера уже готовый и отлаженный скрипт лучше гонять в облегчённой версии программы XWeb Human Emulator Studio RT.exe.ТО есть настроили отладили всё в обычной версии и когда уже скрипт запускать в рабочий режим, то используем RT версию. EXE версии RT лежит в той же папки где и обычный EXE.
При необходимости можно использовать функцию $browser->close_all_tabs(), но самый эффективный способ отчистки памяти это перезапуск программы.
// перезапускаем скрипт $app->restart($debug->get_cur_script_path(),$app->get_port(),$app->get_port());
Если скрипт работает долго то лучше перезапускать его вместе с программой. Количество потребляемой памяти зависит от сайта с которым работает скрипт, если сайт простой то памяти будет уходить меньше, если сайт тяжёлый то памяти может хватить только на 4-5 итераций после чего надо перезапускать программу.
Также для меньшего потребления ресурсов компьютера уже готовый и отлаженный скрипт лучше гонять в облегчённой версии программы XWeb Human Emulator Studio RT.exe.ТО есть настроили отладили всё в обычной версии и когда уже скрипт запускать в рабочий режим, то используем RT версию. EXE версии RT лежит в той же папки где и обычный EXE.
Функция $app->quit() останавливает работу скрипта и после неё уже ничего не будет выполняться.а если сначала $app->quit() а потом $debug->run_current_script() вообще не чего не происходит.
Опять таки тут всё зависит от насколько тяжёлый сайт с которым вы работаете.Еще вопрос, скрипт при выполнении всегда каждое свое действие открывает в новой вкладке, а не забьет ли это оперативную память если скрипт будет работать долго ?
При необходимости можно использовать функцию $browser->close_all_tabs(), но самый эффективный способ отчистки памяти это перезапуск программы.
Re: javascript confirm и еще пару вопросов
Ребят подскажите как обстоят дела с гугловской рекапчей, пользовался поиском по форуму не нашел рабочего решения.
Есть тема с solverecaptcha но почему то её нет в документации видать не актуальное решение?
Видел в документации упоминания про рекапчу у rucaptcha, примеры которые там приведены не работают.
Может я где то что то упустил ? Сильно не пинайте. Спасибо!
Есть тема с solverecaptcha но почему то её нет в документации видать не актуальное решение?
Видел в документации упоминания про рекапчу у rucaptcha, примеры которые там приведены не работают.
Может я где то что то упустил ? Сильно не пинайте. Спасибо!
Re: javascript confirm и еще пару вопросов
вот тут есть пример для antigate рабочий для вкfreemast писал(а): ↑18 апр 2019, 11:24Ребят подскажите как обстоят дела с гугловской рекапчей, пользовался поиском по форуму не нашел рабочего решения.
Есть тема с solverecaptcha но почему то её нет в документации видать не актуальное решение?
Видел в документации упоминания про рекапчу у rucaptcha, примеры которые там приведены не работают.
Может я где то что то упустил ? Сильно не пинайте. Спасибо!
Это про XEvil
А тут исходники по ВК
Re: javascript confirm и еще пару вопросов
Ребят подскажите что может быть, всё работало четко, а сейчас в ответ на решение капчи мне пишут ошибку, даже если капча решена правильно, даже если поставить точку остановы на том месте где появляется капча и решить капчу вручную, все равно показывает ошибку, с обычного браузера работает хорошо, а от бота нет.
Я уже поставил чистку перед запуском бота, не помогает.
Я уже поставил чистку перед запуском бота, не помогает.
Код: Выделить всё
// чистимся
$browser->close_all_tabs();
$browser->clear_address_bar_history();
$browser->clear_cache();
$browser->clear_cookies("");
$browser->clear_history();
Re: javascript confirm и еще пару вопросов
а что за ошибка?freemast писал(а): ↑26 апр 2019, 12:19Ребят подскажите что может быть, всё работало четко, а сейчас в ответ на решение капчи мне пишут ошибку, даже если капча решена правильно, даже если поставить точку остановы на том месте где появляется капча и решить капчу вручную, все равно показывает ошибку, с обычного браузера работает хорошо, а от бота нет.
Я уже поставил чистку перед запуском бота, не помогает.
Код: Выделить всё
// чистимся $browser->close_all_tabs(); $browser->clear_address_bar_history(); $browser->clear_cache(); $browser->clear_cookies(""); $browser->clear_history();
Re: javascript confirm и еще пару вопросов
Пишет ошибку что много раз ввел капчу неправильно.
Из 10 раз 1 раз проходит, я тут думаю может это из за фреймов у меня стоит поиск до 15 шт, может попробовать уменьшить это значение.
Хотя странно, до этого же все работало.
Из 10 раз 1 раз проходит, я тут думаю может это из за фреймов у меня стоит поиск до 15 шт, может попробовать уменьшить это значение.
Хотя странно, до этого же все работало.
Re: javascript confirm и еще пару вопросов
Если вы измените количество фреймов это только ограничит или добавит фреймы для поиска в них элементов. Можете в логах выводить тот что определяется и потом проверить правильно ли он его находит, используя скажем список элементов, где нужные элементы можно посмотреть во фреймах. Но если хотя бы один раз скрипт срабатывает нормально, значит логика работы скрипта рабочая. Надо смотреть в сторону проверки результатов, которые приходят с сервиса. Результат распознавания можно выводить в логах и тоже смотреть что там от них приходит. Возможно в документации у них есть что то об этом https://anticaptcha.atlassian.net/wiki/ ... ges/196633.
Re: javascript confirm и еще пару вопросов
Ребят, подскажите как дождаться выполнения ajax, пробовал $browser->wait_js(0); не помогает, пробовал $browser->wait(0); тоже не помогает.
Пробовал ставить sleep(); работает, но ajax всегда с разным временем выполняется, иногда не хватает sleep, а иногда ajax выполнился, а мы еще спим.
Или тут только писать функцию прозвона? (к примеру: делать постоянный опрос поиском элементов)
Спасибо!
Пробовал ставить sleep(); работает, но ajax всегда с разным временем выполняется, иногда не хватает sleep, а иногда ajax выполнился, а мы еще спим.
Или тут только писать функцию прозвона? (к примеру: делать постоянный опрос поиском элементов)
Спасибо!
Re: javascript confirm и еще пару вопросов
можно воспользоваться is_exist_by_xxx - для проверки есть ли уже заданный элемент
также в шаблоне есть глобальные переменные:
$bWaitElementExistBeforeAction=false; // проверять есть ли заданный элемент на странице перед действием
$iSecondsWaitElementExistBeforeAction=15; // сколько секунд ждать появления элемента
также в шаблоне есть глобальные переменные:
$bWaitElementExistBeforeAction=false; // проверять есть ли заданный элемент на странице перед действием
$iSecondsWaitElementExistBeforeAction=15; // сколько секунд ждать появления элемента
Re: javascript confirm и еще пару вопросов
Для ожидания на загрузку или пока наоборот элемент показывается как к примеру прогресс загрузки можно использовать такие функции
пример использования:
// ждём на подгрузку нужного нам элемента function wait_on_element_by_text($tag, $text, $frme=-1, $wait=30, $pause=1) { $a=0; while(!$tag->is_exist_by_inner_text($text, false, $frme)) { sleep($pause); if($a>$wait) { echo("не дождались нужного элемента c текстом $text!<br>"); return false; } $a++; } return true; } // ждём на подгрузку нужного нам элемента по атрибуту function wait_on_element_by_att($tag, $att_name, $att_text, $frme=-1, $wait=30, $pause=1) { $a=0; while(!$tag->is_exist_by_attribute($att_name, $att_text, false, $frme)) { sleep($pause); if($a>$wait) { echo("не дождались нужного элемента c текстом $text!<br>"); return false; } $a++; } return true; } // ждём пока видимый function wait_visible_by_att($tag,$at_name,$at_value, $wait=10, $pause=3) { $a=0; $dv = $tag->get_by_attribute($at_name,$at_value); while(!$dv->is_visibled()) { sleep($pause); if($a>$wait) { echo("ждём загрузки результатов для $at_name, $at_value!!!<br>"); return false; } $a++; } return true; }
пример использования:
// ждём на появление нужного элемента if(!wait_on_element_by_att($input, "id","txtinput")) { // остановить скрип $app->quit(); } // ждём на появление нужного элемента if(!wait_on_element_by_text($span, "Загрузили")) { // остановить скрип $app->quit(); } // ожидаем пока элемент видимый на странице wait_visible_by_att($div,"id","progressShow");
Re: javascript confirm и еще пару вопросов
Ребят есть желающие помочь мне с гугл капчей? А то у меня уже голова кругом идет от этой капчи. Буду благодарен. Спасибо!