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)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值