Pyppeteer的基本常用操作
无头模式:
默认开启 headless=True
# 关闭无头模式
browser = await launch(headless=False)
调试模式:
默认关闭 devtools=False
# 开启调试模式
browser = await launch(devtools=True)
禁用提示条
browser = await launch(headless=False, args=['--disable-infobars'])
防止检测:
隐藏 Webdriver 属性
page = await browser.newPage()
await page.evaluateOnNewDocument('Object.defineProperty(navigator,"webdriver",{get:() => undefined})')
页面设置大小
# 设置浏览器窗口大小
browser = await launch(headless=False, args=['--window-size=1366,768}'])
page = await browser.newPage()
# 设置页面窗口大小
await page.setViewport({
'width': 1366, 'height': 768})
用户数据持久化
根据我的实操发现,在开启无头模式时,启用 userDataDir 参数,就无法正常爬取数据,具体原因暂时不清楚,但可以采用 获取cookie 的方式实现自动登录操作
启用 userDataDir :
# 启用userDataDi