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)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 黑色的海島上懸著一輪又大又圓的明月,毫不嫌棄地把溫柔的月色照在這寸草不生的小島上。一個少年白衣白發,悠閑自如地倚坐...
    小水Vivian閱讀 3,130評論 1 5
  • 漸變的面目拼圖要我怎么拼? 我是疲乏了還是投降了? 不是不允許自己墜落, 我沒有滴水不進的保護膜。 就是害怕變得面...
    悶熱當乘涼閱讀 4,304評論 0 13
  • 感覺自己有點神經衰弱,總是覺得手機響了;屋外有人走過;每次媽媽不聲不響的進房間突然跟我說話,我都會被嚇得半死!一整...
    章魚的擁抱閱讀 2,196評論 4 5
  • 夜鶯2517閱讀 127,749評論 1 9
  • 版本:ios 1.2.1 亮點: 1.app角標可以實時更新天氣溫度或選擇空氣質量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 6,939評論 1 6