Доброго времени суток господа, есть следующий вопрос, при помощи сервиса "антикапча" генерируется токен, но не могу понять как и куда его использовать чтобы продвинуться дальше.
Получаю вот такой пример токена:
your recaptcha token: 03AGdBq25nnaACnFyMUFRiDZfLFD7gxQLoEFNHD2rQvYS_iO4gbw8JCemWSHgPwQVfbUPQlm8_9RrObRjpaZ9ORCwsEyVy4M0RSWZKhu4LjLepfDM7gLMrdKliKB4cP4aEanVMJNIsOMUfBHO4RVCouImrDVSMcklBZQmj_4SqYVKYV3SRCjBTXpdkJUFFv38OYm-szhUEoOAvJ1PF5Fw07YfFBpQEPzOR71_aNor-oRCaTgb76rurD3iX8WVIBZ9xMdD-du4zSDCoYyE4UBbiKJB2yPV_Z6pUss3vicx3bEwjB6V2y50eR7-gBssHGuqYqC9Q88IckpDmDj1utk24aqh7FRcEwuM-nWnmFj7H7ueTnCBjCcEccz2BdE_FR4dkZrg5VN168DekhjQy1eOW-ZtxS6hB11o28wyiFeBO46NPiWJJpswdPxEiVjcgJPxca87k0Q9FCwkamkYjTumPoZBl2TeAKCLT6KsN-2zFXMw26JfKevlsMPk
Кусок кода использую следующий, спустя секунд 20-25 генерируется токен но не могут понять куда его вывести чтобы подтвердить капчу с картинками, помогите кто знает, спасибо.
$api = new NoCaptchaProxyless();
$api->setVerboseMode(true);
//your anti-captcha.com account key
$api->setKey("МОЙ КЛЮЧ");
//target website address
$api->setWebsiteURL("http://makeawebsitehub.com/recaptcha/test.php");
//recaptcha key from target website
$api->setWebsiteKey("6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ");
//create task in API
if (!$api->createTask()) {
$api->debout("API v2 send failed - ".$api->getErrorMessage(), "red");
return false;
}
$taskId = $api->getTaskId();
//wait in a loop for max 60 seconds till task is solved
if (!$api->waitForResult(60)) {
echo "could not solve captcha\n";
echo $api->getErrorMessage()."\n";
} else {
$gResponse = $api->getTaskSolution();
echo "\nyour recaptcha token: $gResponse\n\n";
}
$textarea->set_value_by_name("g-recaptcha-response", $gResponse);
$btn->click_by_id("recaptcha-verify-button", "2");
echo "<br>";
// pause 5 sec
sleep(5);
$app->quit();
?>
Как/куда вставить токен капчи?
- XwebDeveloper
- Сообщения: 51
- Зарегистрирован: 13 ноя 2017, 12:53
Re: Как/куда вставить токен капчи?
К сожалению выдаёт что такой страницы нету.
Токен, который вы получаете, вставляется в зависимости от сайта в элементы типа:
Также примеры для работы с рекапчей: с подробными объяснениями viewtopic.php?f=52&t=1328 , тут просто примеры для разных сайтов viewtopic.php?f=57&t=2648 и viewtopic.php?f=53&t=2535.
Токен, который вы получаете, вставляется в зависимости от сайта в элементы типа:
$textarea->set_value_by_name("g-recaptcha-response", $gResponse);Вот тут https://xn--80awbbeioodeq4h3a.xn--p1ai/blog/%d1%80% ... -emulator/ в конце стать есть пример с описанием на что смотреть.
Также примеры для работы с рекапчей: с подробными объяснениями viewtopic.php?f=52&t=1328 , тут просто примеры для разных сайтов viewtopic.php?f=57&t=2648 и viewtopic.php?f=53&t=2535.
Запрос на создание скриптов viewforum.php?f=61
-
- Сообщения: 2
- Зарегистрирован: 28 янв 2016, 15:06
- Откуда: Russia (UTC+3)
- Контактная информация:
Re: Как/куда вставить токен капчи?
> //target website address
> $api->setWebsiteURL("http://makeawebsitehub.com/recaptcha/test.php");
Текущий открытый урл можно получать автоматически:
> //recaptcha key from target website
> $api->setWebsiteKey("6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ");
Значение аттрибута 'data-sitekey' можно получать автоматически:
> $textarea->set_value_by_name("g-recaptcha-response", $gResponse);
Сюда, верно. Еще на всякий случай можно проверять результат:
При автораспознавании галочка не устанавливается зеленой со значком 'ok', это нормально,
форму можно сабмитить.
После распознавания каптчи её надо как можно быстрее засабмитить, чтобы распознавание не протухло.
Иногда кнопка сабмита может быть неактивна при автоматическом распознавании,
нужно удалить аттрибут 'disabled', после чего можно кликать на кнопку сабмита:
> $api->setWebsiteURL("http://makeawebsitehub.com/recaptcha/test.php");
Текущий открытый урл можно получать автоматически:
$currentUrl = $webpage->get_url(); echo "current url: {$currentUrl}\n";
> //recaptcha key from target website
> $api->setWebsiteKey("6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ");
Значение аттрибута 'data-sitekey' можно получать автоматически:
$el = $div->get_by_attribute('id', 'html_element', true); $dataSiteKey = @trim($el->get_attribute('data-sitekey')); if($dataSiteKey === '') { echo "[ERROR] Can't get 'data-sitekey'. Stopped."; $app->quit(); exit(1); } echo "data-sitekey: {$dataSiteKey}\n";
> $textarea->set_value_by_name("g-recaptcha-response", $gResponse);
Сюда, верно. Еще на всякий случай можно проверять результат:
echo "textarea g-captcha-response: " . $textarea->get_inner_text_by_id('g-recaptcha-response') . "\n";
При автораспознавании галочка не устанавливается зеленой со значком 'ok', это нормально,
форму можно сабмитить.
После распознавания каптчи её надо как можно быстрее засабмитить, чтобы распознавание не протухло.
Иногда кнопка сабмита может быть неактивна при автоматическом распознавании,
нужно удалить аттрибут 'disabled', после чего можно кликать на кнопку сабмита:
$element->remove_attribute_by_attribute("id","button-submit-form", true, 'disabled'); $element->click_by_attribute("id","button-submit-form", true);
Андрей Воробьев
Разработчик веб автоматизаций
va@brautomate.ru, telegram: +7-978-811-22-14 или @thevoan, http://brautomate.ru
viewtopic.php?f=44&t=2525
Разработчик веб автоматизаций
va@brautomate.ru, telegram: +7-978-811-22-14 или @thevoan, http://brautomate.ru
viewtopic.php?f=44&t=2525
Re: Как/куда вставить токен капчи?
Большое спасибо за ответ, в общем вбил все данные, получаю ответ (токен) но всё равно не могу отправить форму с токеном, я так понимаю вот тут:
надо прописать правильные атрибуты со страницы где делается проверка, а не дефолтные, правильно? (сори за тупые вопросы если что) Вот сам кусок когда каптчи со страницы где пытаюсь сделать автоматизацию и внести данные:
$textarea->set_value_by_name("g-recaptcha-response", $gResponse); $btn->click_by_id("recaptcha-verify-button", "2"); echo "<br>";
надо прописать правильные атрибуты со страницы где делается проверка, а не дефолтные, правильно? (сори за тупые вопросы если что) Вот сам кусок когда каптчи со страницы где пытаюсь сделать автоматизацию и внести данные:
Код: Выделить всё
<script src="https://www.google.com/recaptcha/api.js?hl=es"></script>
<div>
<div class="fld">
<label class="required"><span>Por favor, valide el Captcha para poder continuar</span><span class="fld-help">Campo obligatorio</span></label>
<div id="html_element" class="g-recaptcha"
data-sitekey="6Ld3FzoUAAAAANGzDQ-ZfwyAArWaG2Ae15CGxkKt" data-callback="enableBtn" style="display: inline-block;vertical-align: bottom;"></div>
</div>
</div>
</div></div>
</div>
</fieldset>
<div class="mf-layout--row">
<input id="btnEnviar" type="button" class="mf-button primary"
value="Aceptar" onclick="envia()" /> <input
id="btnVolver" type="button" class="mf-button primary"
value="Volver" onclick="goVolverAcInfo()" />
</div>
</div>
</div>
- Вложения
-
- Screenshot_45.png (26.54 КБ) 7658 просмотров
Re: Как/куда вставить токен капчи?
$btn->click_by_id("recaptcha-verify-button", "2");Цифра 2 в этой функции говорит о том что кнопка находится во 2 frame. Причиной того что не срабатывает может быть то что номер фрейма меняется и просто не происходит клик по кнопке.
Для того что бы точно убедиться, что номер фрейма тот что надо можно использовать подобную функцию:
// получить нумер frame в которого находится элемент с таким параметром function check_in_frame($att_name,$att_value,$exactly=false) { global $div; for($i=0;$i<10;$i++) { if($div->is_exist_by_attribute($att_name,$att_value,$exactly,$i)) { return $i; } } retrun -1; }
можно переделать функцию таким образом:
// получить номер frame в которого находится элемент с таким параметром function check_in_frame($tag, $att_name,$att_value,$exactly=false, $max=10) { global $tag; for($i=0;$i<$max;$i++) { if($tag->is_exist_by_attribute($att_name,$att_value,$exactly,$i)) { return $i; } } retrun -1; }
тогда нажатие на кнопку будет таким:
// получить номер frame в которого находится элемент с таким параметром $num = check_in_frame($btn,"id","recaptcha-verify-button", true); echo "номер фрейма $num<br>"; // клик на кнопку $btn->click_by_id("recaptcha-verify-button", $num ); // получить номер frame в которого находится элемент с таким параметром function check_in_frame($tag, $att_name,$att_value,$exactly=false, $max=10) { global $tag; for($i=0;$i<$max;$i++) { if($tag->is_exist_by_attribute($att_name,$att_value,$exactly,$i)) { return $i; } } retrun -1; }
Re: Как/куда вставить координаты капчи?
Ребята подскажите пожалуйста куда вставить координаты капчи?
сайт называется payup.video
сайт называется payup.video