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)

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

相關(guān)閱讀更多精彩內(nèi)容

  • 漸變的面目拼圖要我怎么拼? 我是疲乏了還是投降了? 不是不允許自己墜落, 我沒有滴水不進(jìn)的保護(hù)膜。 就是害怕變得面...
    悶熱當(dāng)乘涼閱讀 4,464評(píng)論 0 13
  • 感覺自己有點(diǎn)神經(jīng)衰弱,總是覺得手機(jī)響了;屋外有人走過;每次媽媽不聲不響的進(jìn)房間突然跟我說話,我都會(huì)被嚇得半死!一整...
    章魚的擁抱閱讀 2,364評(píng)論 4 5
  • 夜鶯2517閱讀 128,087評(píng)論 1 9
  • 版本:ios 1.2.1 亮點(diǎn): 1.app角標(biāo)可以實(shí)時(shí)更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 7,361評(píng)論 1 6

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