короче вот по этому мануалу пытаюсь перехватить callback функцию для решения капчи https://capmonster.cloud/ru/blog/Cloudflare/what-is-cloudflare-captcha?roistat_visit=586352 но проблема в том, что сама капча находится в iframe, и я хз как этот js код вызвать до загрузки самого фрейма
тебе нужно жс заинжектить в iframe до его загрузки? document.querySelector('iframe').window.turnstile = xxx JavaScript document.querySelector('iframe').window.turnstile = xxx
Палки, сделал как в этой теме try: inject_script = f''' var scr = document.createElement('script'); scr.type = 'text/javascript'; scr.text = `{inject_js_content}`; document.head.appendChild(scr); ''' driver.execute_script(inject_script) print(" JavaScript добавлено в <head> iframe.") except Exception as e: print(f" Ошибка при вставке JS в <head>: {e}") Code try: inject_script = f''' var scr = document.createElement('script'); scr.type = 'text/javascript'; scr.text = `{inject_js_content}`; document.head.appendChild(scr); ''' driver.execute_script(inject_script) print(" JavaScript добавлено в <head> iframe.") except Exception as e: print(f" Ошибка при вставке JS в <head>: {e}") скрипт добавился в html, он выполняется, но всё равно после загрузки страницы, потому что видно что turnstile.render уже успевает выполнятся ещё до него т.к. tsCallback по прежнему undefined
N3V3RB0RN, супер, только обращайся не к window, а к document.querySelector('iframe').window это окно относящееся к iframe
N3V3RB0RN, можно не выполнять скрипт1, который добавит скрипт2, а сразу выполнить скрипт2 напрямую, script = f''' document.querySelector('iframe').window = new Proxy... ''' driver.execute_script(script) Python script = f''' document.querySelector('iframe').window = new Proxy... ''' driver.execute_script(script)