PyQt/QWebView/README.md
2019-09-24 16:17:05 +08:00

1.8 KiB
Raw Blame History

QWebView

1、梦幻树

运行 DreamTree.py

在桌面上显示透明html效果使用QWebkit加载html实现,采用窗口背景透明和穿透方式

DreamTree

2、获取Cookie

运行 GetCookie.py

page()中得到QNetworkAccessManager,在从中得到QNetworkCookieJar, 最后得到cookie,当然也可以设置自己的QNetworkCookieJar

GetCookie

3、和Js交互操作

运行 JsSignals.py

通过QWebFrameaddToJavaScriptWindowObject函数提供进行Python对象和Javascript的交互

具体看代码中的注释

JsSignals

4、网页整体截图

运行 ScreenShotPage.py

  1. 方式1原理是通过QWebView.QWebPage.QWebFrame得到内容的高度,然后设置QWebPage.setViewportSize的大小, 最后通过QWebFrame.render把图片截出来
  2. 方式2通过js库html2canvas对指定元素截图,得到base64编码的数据并调用接口函数传递到py代码中

ScreenShotPage

5、播放Flash

运行 PlayFlash.py

  1. 重点在于设置 os.environ['QTWEBKIT_PLUGIN_PATH'] = os.path.abspath('Data') 非常重要设置为NPSWF32.dll文件所在目录
  2. 其次是xp下ssl问题,具体参考代码

PlayFlash

6、拦截请求

运行 BlockRequest.py

通过QNetworkAccessManager中的createRequest方法对每个请求做拦截过滤

BlockRequest