美文网首页
pyppeteer突破滑动验证

pyppeteer突破滑动验证

作者: 之江狂徒 | 来源:发表于2020-02-15 11:54 被阅读0次

    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 很重要,必须设置,否则80版本会出错

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

    两次设置貌似都很重要,做了不太完全的验证

    相关文章

      网友评论

          本文标题:pyppeteer突破滑动验证

          本文链接:https://www.haomeiwen.com/subject/msuefhtx.html