使用Pyppeteer進行gmail模擬登陸

import asyncio
import time
from pyppeteer import launch

async def gmailLogin(username, password, url):
    #'headless': False若是想要瀏覽器隱藏更改False爲True
    # 127.0.0.1:1080爲代理ip和端口,這個根據本身的本地代理進行更改,若是是vps裏或者全局模式能夠刪除掉'--proxy-server=127.0.0.1:1080'
    browser = await launch({'headless': False, 'args': ['--no-sandbox', '--proxy-server=127.0.0.1:1080']})
    page = await browser.newPage()
    await page.setUserAgent(
        'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36')

    await page.goto(url)

    # 輸入Gmail
    await page.type('#identifierId', username)
    # 點擊下一步
    await page.click('#identifierNext > content')
    page.mouse  # 模擬真實點擊
    time.sleep(10)
    # 輸入password
    await page.type('#password input', password)
    # 點擊下一步
    await page.click('#passwordNext > content > span')
    page.mouse  # 模擬真實點擊
    time.sleep(10)
    # 點擊安全檢測頁面的DONE
    # await page.click('div > content > span')#若是本機以前登陸過,而且page.setUserAgent設置爲以前登陸成功的瀏覽器user-agent了,
    # 就不會出現安全檢測頁面,這裏若是有須要的本身根據需求進行更改,可是仍是推薦先用經常使用瀏覽器登陸成功後再用python程序進行登陸。

    # 登陸成功截圖
    await page.screenshot({'path': './gmail-login.png', 'quality': 100, 'fullPage': True})
    #打開谷歌全家桶跳轉,以Youtube爲例
    await page.goto('https://www.youtube.com')
    time.sleep(10)
 
if __name__ == '__main__':
    username = '你的gmail包含@gmail.com'
    password = r'你的gmail密碼'
    url = 'https://gmail.com'
    loop = asyncio.get_event_loop()
    loop.run_until_complete(gmailLogin(username, password, url))

參考來源:
https://zhuanlan.zhihu.com/p/53700650
https://blog.csdn.net/Chen_chong__/article/details/82950968python

相關文章
相關標籤/搜索