@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); // Выполним созданный выше ява скрипт