Как реализовать в BAS?
-
Суть вопроса в ролике: https://www.youtube.com/watch?v=FMI-yEFCMQE
-
@Slayts у профессиональных разработчиков нет времени смотреть видеоролики, уверяю Вас.
-
@Slayts ищи по форуму, такая тема поднималась
-
@romanbiz said in Как реализовать в BAS?:
@Slayts у профессиональных разработчиков нет времени смотреть видеоролики, уверяю Вас.
Да я всё понимаю, просто если я буду пытаться описать словами, то что мне нужно, боюсь получится плохо. А в ролике всё доступно рассказано.
Но давайте попробуем)Нужно чтобы Recaptcha2 грузилась на пустой страничке на нужном мне домене. Т.е. грузился не весь сайт, а только recaptcha на нём. В zennopostere это решается с помощью С# и JS (собственно об этом и ролик), но так как, BAS не поддерживает С#, то нужно решение как реализовать это силами BAS.
Вот код на С#:
Tab tab = instance.ActiveTab; // Будем работать с активной вкладкой instance.UseJavaScripts = false; // Отключим выполнение JS на страничке tab.SetSourceText(""); // Очистим исходный код странички string script = @"var recaptcha = document.createElement('script'); recaptcha.setAttribute('src', 'https://www.google.com/recaptcha/api.js'); document.getElementsByTagName('head')[0].appendChild(recaptcha);"; // Здесь создадим наш ява скрипт для выполнения на страничке сайта string html = @"<!DOCTYPE html><html><head></head><body><div id='recaptcha-demo' class='g-recaptcha' data-sitekey='6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-' data-callback='onSuccess'></div></body></html>"; // Здесь создадим новый исходный код странички tab.SetSourceText(html); // Установим созданный выше исходный код на страницу нашего сайта instance.UseJavaScripts = true; // Включим выполнение ява скриптов в нашем браузере tab.MainDocument.EvaluateScript(script); // Выполним созданный выше ява скрипт
-
@artihorror said in Как реализовать в BAS?:
@Slayts ищи по форуму, такая тема поднималась
Спасибо, попробую найти.
-
-
@Slayts Это просто моё личное мнение и совет. В следующий раз когда выкладываете видео пишите к нему описание на несколько слов, чтобы те кого оно заинтересует переходили. Лично для меня такое отношение это неуважение.
-
@romanbiz said in Как реализовать в BAS?:
@Slayts Это просто моё личное мнение и совет. В следующий раз когда выкладываете видео пишите к нему описание на несколько слов, чтобы те кого оно заинтересует переходили. Лично для меня такое отношение это неуважение.
Согласен, не очень получилось. Просто не знал как сформулировать, поэтому и тему "неоформленную" в offtopice разместил.
-
@Antonio said in Как реализовать в BAS?:
@Slayts
http://community.bablosoft.com/topic/3675/recaptcha-выпадает-за-пределы-экрана/21Спасибо, нашёл несколько тем по вашей наводке.
Ситуация такова:
Нужно сделать вывод рекапчи на сайте без подгрузки остального содержимого, как на этом скрине https://i.imgur.com/cAIQQQs.png (источник http://community.bablosoft.com/topic/3369/денвер-и-бас)
Я так понял, что мне нужно вот это (источник http://community.bablosoft.com/topic/2871/установить-адрес-домен-не-загружая-страницу/12)<html><body> <form method="POST"> <script src="https://www.google.com/recaptcha/api.js" async defer></script> <div class="g-recaptcha" data-sitekey="вашключ"></div> <input type="submit" name="OK" value="send"> </form> </body></html>
Но залить этот код, не на локальный сайт, а на "целевой" там где капча.
Вопрос, как с помощью BAS мне очистить полностью, содержимое загруженного сайта и залить туда данный html код?
Я так понимаю, что надо "Яваскрипт" или "Выполнить код" но я в этом не силён.
-
@Slayts Браузер -> Яваскрипт
var b=document.getElementsByTagName('body')[0];b.innerHTML='<form method="POST"><div class="g-recaptcha" data-sitekey="вашключ"></div><input type="submit" name="OK" value="send"></form>';var script = document.createElement('script');script.src = 'https://www.google.com/recaptcha/api.js';script.async = false;b.appendChild(script);
ВАШКЛЮЧ из data-sitekey на требуемой странице
Это лишь реализация вставки твоего кода в пустую страницу на нужном сайте.
Капча распознаётся и решается.
Однако, это всё дело нужно допиливать под задачу...
-
@Xstroy Спасибо, то что нужно. Пол дела сделано.
Допиливать и правда надо, но уже хотя бы есть начало.