通过QWebEngineProfile
中得到的cookieStore
并绑定它的cookieAdded
信号来得到Cookie
通过qwebchannel.js
和QWebChannel.registerObject
进行Python对象和Javascript的交互
具体看代码中的注释
QWebEngineView
的大小为QWebEnginePage
的内容大小,等待一定时间后截图再还原大小)html2canvas
对指定元素截图,得到base64
编码的数据并调用接口函数传递到py代码中原理是为每个QWebEngineView
创建一个QWebEnginePage
,且使用独立的QWebEngineProfile
,并配置persistentStoragePath
不同路径
通过QWebEngineUrlRequestInterceptor
中的interceptRequest
方法对每个请求做拦截过滤
这里用了一个投巧的办法,原理是先通过QWebEngineUrlRequestInterceptor
中的interceptRequest
方法对每个请求做拦截过滤,
发现目标url后重定向到QWebEngineUrlSchemeHandler
实现的自定义协议头返回数据
通过QWebEngineProfile
中得到的cookieStore
来添加QNetworkCookie
对象实现,
需要注意的是httpOnly=true时,通过js无法获取
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。