selenium:python如何绕过登录页面登录网页

使用场景
在面对需要账号密码登录的网页时,可以通过定位输入框,使用send_keys
输入账号密码登录。
但是在面对某些无法通过页面直接登录的场景,比如需要微信或者软件扫码、验证码等才能进入页面的情况时,就可以通过cookie进行登录。
本文主要介绍通过记录上一次登录网页的cookie,在cookie生效期间直接绕过登录页面直接进入系统的登录方式。


举例如下:

登录页面后获取登录的cookie

from selenium import webdriver
import json


def get_cookies(url):
    driver = webdriver.Chrome()
    driver.get("url")
    driver.delete_all_cookies()  # 删除所有cookies
    print("+++++++++++++++++++++++请登录+++++++++++++++++++")
    print("+++++++++++++++++++++++输入登录的环境后回车+++++++++++++++++++")
    environment = input()
    cookies = driver.get_cookies()   # 获取cookie,以字典方式返回
    if environment in ['测试', 'test']:
        with open("cookies_test.txt", "w") as f:
            f.write(json.dumps(cookies))  # json.dumps:将字典变成字符串
    f.close()
    driver.quit()

读取之前存入的cookie

from selenium import webdriver
import json
from time import sleep


def login(url):
    driver = webdriver.Chrome()
    driver.get("url")
    driver.delete_all_cookies()  # 删除所有cookies
    with open("cookies_test.txt", "r") as f:
        cookies = json.load(f)  # 将文件字符串转换成python对象
        for cookie in cookies:
            driver.add_cookie(cookie)
    sleep(5)
    driver.refresh()
    sleep(10)
    driver.quit()


这样只要记录的cookie生效,那么就可以不用每次进入系统时都需要在登录页面登录啦~

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

推荐阅读更多精彩内容