使用默认方式控制浏览器
安装chromium浏览器
cmd执行如下代码
python -m playwright install
生成文件stealth.min.js
安装nodejs,执行如下代码,则会在环境根目录下生成stealth.min.js文件
npx extract-stealth-evasions
执行代码
import timefrom playwright.sync_api import sync_playwrightfrom playwright.sync_api import Pageplaywright = sync_playwright().start()# 过检测方法1:--disable-blink-features=AutomationControlledbrowser = playwright.chromium.launch(headless=False,args=['--disable-blink-features=AutomationControlled'],# 指定浏览器# executable_path=r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe",)# 过检测方法2:stealth.min.jscontext = browser.new_context(viewport={'width': 1920, 'height': 1080})context.add_init_script(path=r'c:\Users\zghmvp\Desktop\stealth.min.js')# 测试page = context.new_page()page.goto('https://bot.sannysoft.com/')time.sleep(5)page.evaluate('''window.open("https://bot.sannysoft.com/")''')browser.close()
使用cdp链接已打开的浏览器
import timefrom playwright.sync_api import sync_playwrightfrom playwright.sync_api import Pagefrom playwright.sync_api import Responseplaywright = sync_playwright().start()# 浏览器快捷方式:C:\xxx\chrome.exe --remote-debugging-port=9222browser = playwright.chromium.connect_over_cdp('http://localhost:9222')context = browser.contexts[0] # 获取默认的上下文# context.add_init_script(path=r'c:\Users\zghmvp\Desktop\stealth.min.js')# 添加监听def on_response(response: Response):print(response.url)# print(response.json())# print(response.text())# print(response.body())context.on('response', on_response)# 测试page = context.new_page()page.goto('https://bot.sannysoft.com/')time.sleep(10)page.close()
