
开源官网: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']
获取资源前请仔细阅读一下声明:
重要提示
如有解压密码: 看下载页、看下载页、看下载页。
源码工具资源类具有可复制性: 建议具有一定思考和动手能力的用户购买。
请谨慎考虑: 小白用户和缺乏思考动手能力者不建议赞助。
虚拟商品购买须知: 虚拟类商品,一经打赏赞助,不支持退款。请谅解,谢谢合作!
声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
