问题:
我编写了大量代码(在线自动完成一些相当费力的任务),并使用Python
的机械化库来处理网络请求。它工作得很好,除了现在我遇到了一个我强烈需要 javascript
功能的页面......机械化无法处理javascript
。
建议的解决方案:
我正在使用PyQt
为这个应用编写GUI,它与QtWebKit
一起打包,它处理javascript
。我想使用QtWebKit
来评估我坚持使用的页面上的javascript
,最简单的方法是将我的网络会话从机械化转移到QtWebKit
。
我不想对我的整个网络请求使用PhantomJS
,Selenium
或QtWebKit
;我100%想为此目的保持机械化。我想知道如何将登录的会话从机械化转移到QtWebKit
。
这会有效吗?
QtWebView
_VIEWSTATE
等)的值从机械化转移到QWebView
(页面为ASP.net
页面...)QWebView
的User-Agent标题更改为与机械化相同... 我真的不知道如何让两个“浏览器”看起来与服务器更加相同......这会起作用吗?谢谢!
答案 0 :(得分:0)
由于没有人回答,我会发布我的工作。
基本上,我想将我的会话从Mechanize(python模块)“转移”到QtWebKits QWebView(PyQt4模块),因为我的绝大部分项目都是自动无头的,但我遇到了一个路障,我别无选择但要让用户手动将数据输入到可能的结果页面中(因为表单每次都有所不同,具体取决于具体情况)。
我没有转移会话,而是通过利用QWebViews javascript功能来满足此要求。我的方法是这样的:
就是这样!一些解决方法,但它的工作原理:\