使用默认方式控制浏览器
安装chromium
浏览器
cmd执行如下代码
python -m playwright install
生成文件stealth.min.js
安装nodejs
,执行如下代码,则会在环境根目录下生成stealth.min.js
文件
npx extract-stealth-evasions
执行代码
import time
from playwright.sync_api import sync_playwright
from playwright.sync_api import Page
playwright = sync_playwright().start()
# 过检测方法1:--disable-blink-features=AutomationControlled
browser = 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.js
context = 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 time
from playwright.sync_api import sync_playwright
from playwright.sync_api import Page
from playwright.sync_api import Response
playwright = sync_playwright().start()
# 浏览器快捷方式:C:\xxx\chrome.exe --remote-debugging-port=9222
browser = 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()