DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。

开源官网: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']

作者:Looper0331原文地址:https://blog.csdn.net/weixin_43741408/article/details/141129750

%s 个评论

要回复文章请先登录注册