pyppeteer offline test

# encoding=utf-8
import asyncio
import time
import json

from pyppeteer import launch


def open_url(url):
    async def get_data(url):
        # browser = await launch(headless=False, userDataDir='./userdata', args=['--disable-infobars','--window-size=1920,1080',])
        # browser = await launch(headless=False, args=['--disable-infobars','--window-size=1920,1080',])
        # await browser.pages()
        browser = await launch({
            'handleSIGINT': False,
            'handleSIGTERM': False,
            'handleSIGHUP': False,
            'headless': False,
            'dumpio': True,
            'args': [
                '--no-sandbox',
                '--no-default-browser-check',
                '--disable-extensions',
                '--hide-scrollbars',
                '--disable-bundled-ppapi-flash',
                '--mute-audio',
                '--disable-setuid-sandbox',
                '--disable-gpu',
                "--window-size=1500,900",
                "--disable-infobars"
            ],
        })
        page = await browser.newPage()
        await page.setUserAgent(
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299')
        await page.setViewport({"width": 1920, "height": 1080})

        login_url = url
        await page.goto(login_url)
        await page.evaluateOnNewDocument('() =>{ Object.defineProperties(navigator,'
                                         '{ webdriver:{ get: () => undefined } }) }')

        await page.waitForSelector('#fm-login-id')
        await page.type('#fm-login-id', '', {'delay': 120})
        await page.waitForSelector('#fm-login-password')
        time.sleep(0.5)
        await page.type('#fm-login-password', '', {'delay': 120})
        await page.keyboard.press('Enter')
        time.sleep(1.5)

        cookies = await page.cookies()
        await page.close()
        await browser.close()
        time.sleep(3)

        return cookies

    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    return loop.run_until_complete(get_data(url))


if __name__ == '__main__':
    # url = ""
    cookies = open_url(url)
    cookie = []
    for c in cookies:
        cookie.append(c['name']+'='+c['value'])
    format_cookie = ';'.join(cookie)
    print(format_cookie)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 9,781评论 0 13
  • 感觉自己有点神经衰弱,总是觉得手机响了;屋外有人走过;每次妈妈不声不响的进房间突然跟我说话,我都会被吓得半死!一整...
    章鱼的拥抱阅读 6,577评论 4 5
  • 夜莺2517阅读 127,807评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 11,843评论 1 6