DrissionPage获取浏览器cookie

开源官网:DrissionPage官网 ,可模拟浏览器进行网页操作及信息获取。

1、脚本内容

页面元素可以使用xpath定位工具(Xpath Helper)预先获取。

#!/usr/bin/env python3

from DrissionPage import ChromiumPage, ChromiumOptions
import json
import time

# 设置 Chrome 浏览器的路径
co = ChromiumOptions().set_browser_path(r"/opt/google/chrome/google-chrome")

# 创建 ChromiumPage 实例
page = ChromiumPage(co)

# 直接设置账号和密码
username = '******'
password = '******'

# 打开网页
page.get('http://*****.*****.*****/login')

# 检查元素是否存在,并填充账号和密码
if page.ele('x://input[@id="form_item_empId"]'):

    # 使用设置的账号和密码填充输入框
    page.ele('x://input[@id="form_item_empId"]').input(username)
    page.ele('x://input[@id="form_item_pwd"]').input(password)

    # 提交表单
    page.ele('x://button[@type="submit"]').click()

    # 等待登录完成,可能需要一些时间或其他条件
    time.sleep(3)

    # 获取浏览器cookies并存至文本中
    cookies = page.cookies(as_dict=True)
    with open('cookie.txt', 'w', encoding='utf-8') as file:
        file.write(json.dumps(cookies))

    # 关闭浏览器
    page.quit()

从cookie文本中解析出token

# Shell jq 解析
cat cookie.txt  | jq -r .token

79a19a40-02eb-4ab0-a5e0-3d771b8b6280

2、DrissionPage安装配置(Centos7)

# 安装谷歌浏览器
yum install epel-release
yum install -y fontconfig glibc glibc-common
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install -y google-chrome-stable_current_x86_64.rpm

# 浏览器默认位置
/opt/google/chrome/google-chrome

# 安装DrissionPage
pip3 install DrissionPage

# 配置文件位置
/usr/local/python3.8/lib/python3.8/site-packages/DrissionPage/_configs/configs.ini

# 浏览器配置参数
[chromium_options]
address = 127.0.0.1:9211
browser_path = chrome
# 开启无头模式、禁用沙盒模式
arguments = ['--no-default-browser-check', '--disable-suggestions-ui', '--no-first-run', '--disable-infobars', '--disable-popup-blocking', '--hide-crash-restore-bubble', '--disable-features=PrivacySandboxSettings4', '--headless=new', '--no-sandbox']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值