playwright补丁框架

默认的自动化框架都会携带一些特征,比如启动的时候往window对象里注入某些特征属性。

图1

使用rebrowser补丁可以规避这些检测,git地址:https://github.com/rebrowser/rebrowser-playwright-python

使用方式就是在pycharm中安装之后,找到对应的包,然后把里面的文件全部覆盖到默认的playwright的目录下就生效了,可以使用如下代码进行验证:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from playwright.sync_api import sync_playwright

import time
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
#args中--disable-blink-features=AutomationControlled是控制webdriver为false的
browser = browser_type.launch(headless=False,
executable_path="C:/Program Files/Google/Chrome/Application/chrome.exe",
args=['--disable-blink-features=AutomationControlled'])
page = browser.new_page()
# 修改浏览器宽高,避免默认宽高被检测
page.set_viewport_size({"width": 1500, "height": 600})
#page.goto('https://bot-detector.rebrowser.net/')
page.goto('https://www.google.com/search?q=python')

time.sleep(2000000)
browser.close()