python-selenium 自动化登录csdn并获取cookie

2021/6/14 20:23:18

本文主要是介绍python-selenium 自动化登录csdn并获取cookie,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

from selenium import webdriver
import os
import time
import json
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
def browser_initial():

    #进行浏览器初始化
    os.chdir('D:\phyton\上课\p1\cookies')
    browser = webdriver.Chrome()
    log_url = 'https://passport.csdn.net/login?code=public'
    return log_url, browser


def get_cookies(log_url, browser):
    #获取cookies保存至本地
    browser.get(log_url)
    time.sleep(15)  # 进行登录
    WebDriverWait(browser, 20).until(
        lambda x: x.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/div[2]/div[5]/ul/li[2]/a')).send_keys(
        Keys.ENTER)
    WebDriverWait(browser, 20).until(lambda x: x.find_element_by_id("all")).clear()
    WebDriverWait(browser, 20).until(lambda x: x.find_element_by_id("all")).send_keys('**********')
    WebDriverWait(browser, 20).until(lambda x: x.find_element_by_id("password-number")).clear()
    WebDriverWait(browser, 20).until(lambda x: x.find_element_by_id("password-number")).send_keys('*******')
    WebDriverWait(browser, 20).until(lambda x: x.find_element_by_id("password-number")).send_keys(Keys.ENTER)
    # 正常 打开之后,找到输入消息框。然后输入内容
    dictCookies = browser.get_cookies()  # 获取list的cookies
    jsonCookies = json.dumps(dictCookies)  # 转换成字符串保存

    with open('damai_cookies3.txt', 'w') as f:
        f.write(jsonCookies)
    print('cookies保存成功!')


if __name__ == "__main__":
    tur = browser_initial()
    get_cookies(tur[0], tur[1])

使用cookies实现登录

from selenium import webdriver
import os
import json


def browser_initial():

    os.chdir('D:\phyton\上课\p1\cookies')
    browser = webdriver.Chrome()
    browser.get(
        'https://www.csdn.net/')
    return browser


def log_damai(browser):
    """
    从本地读取cookies并刷新页面,成为已登录状态
    """
    with open('damai_cookies2.txt', 'r', encoding='utf8') as f:
        listCookies = json.loads(f.read())

    # 往browser里添加cookies
    for cookie in listCookies:
        cookie_dict = {
            'domain': '.csdn.net',
            'name': cookie.get('name'),
            'value': cookie.get('value'),
            "expiry": '',
            'path': '/',
            'httpOnly': False,
            'Secure': False
        }
        browser.add_cookie(cookie_dict)
    browser.refresh()  # 刷新网页,cookies才成功


if __name__ == "__main__":
    browser = browser_initial()
    log_damai(browser)

在这里插入图片描述



这篇关于python-selenium 自动化登录csdn并获取cookie的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程