pyppeteer突破滑動驗證

1、

http://***.piao***wang.com的登錄界面


2、

import asyncio

from pyppeteer import launch

from pyquery import PyQuery as pq

width, height = 1366, 768

async def main():

? ? exepath = 'C:/Users/lee2fat/AppData/Local/Google/Chrome/Application/chrome.exe'

? ? browser = await launch({'executablePath': exepath, 'headless': False, 'slowMo': 30, 'devtools': True }, args=[f'--window-size={width},{height}','--disable-infobars', '--no-sandbox'])?

? ? #browser = await launch({'executablePath': exepath})

? ? #browser = await launch()

? ? page = await browser.newPage()

? ? await page.evaluate('''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }''')? ?

? ? await page.setViewport({'width': width, 'height': height})

? ? await page.goto('http://***.p***x**w****.com/register?******=1')

? ? await page.setUserAgent(

? ? ? ? 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36')

? ? #'https://www.q*c**c**.com/****_login?b**k=%**'

? ? await page.evaluate('''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }''')


? ? await asyncio.sleep(300)

asyncio.get_event_loop().run_until_complete(main())


有概率失敗,不知道是不是pyppeteer 的問題,下次改?puppeteer 試試

某企** 也是概率失敗


版本 72.0.3626.109(正式版本) (64 位) 概率成功

版本 80.0.3987.106(正式版本) (64 位) 概率成功


3、注意點

3.1 'devtools': True 很重要,必須設(shè)置,否則80版本會出錯

3.2 await page.evaluate('''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }''')??

兩次設(shè)置貌似都很重要,做了不太完全的驗證

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容