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']
DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。DrissionPage获取浏览器cookie DrissionPage可模拟浏览器进行网页操作及信息获取。