我正在尝试获取特定网页的原始来源.
该页面执行一些脚本,一旦加载就修改DOM.我希望在任何脚本或用户更改文档中的任何对象之前获取源代码.
使用Chrome或Firefox(可能是大多数浏览器),我可以查看DOM(调试实用程序F12)或查看原始源(右键单击,查看源代码).后者是我想要完成的.
用phantomjs/casperjs可以做到这一点吗?
在进入页面之前,我必须登录.这与casperjs一起工作正常.如果我浏览页面并呈现结果,我知道我在正确的页面上.
casper.thenOpen('http://'+customUrl, function(response) {
this.page.render('example.png'); // *** Renders correct page (current DOM) ***
console.log(this.page.content); // *** Gets current DOM ***
casper.download('view-source:'+customUrl, 'b.html', 'GET'); // *** Blank page ***
console.log(this.getHTML()); // *** Gets current DOM ***
this.debugPage(); // *** Gets current DOM ***
utils.dump(response); // *** No BODY ***
casper.download('http://'+customUrl, 'a.html', 'GET'); // *** Not logged in ?! ***
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试this.download(url, 'a.html')但它似乎没有共享相同的上下文,因为它返回HTML就好像我没有登录,即使我运行cookie casperjs test.casper.js --cookies-file=cookies.txt.
我相信我应该继续分析这个选项.
我也尝试过casper.open('view-source:url'),casper.open('http://url')但似乎它不能识别网址,因为我只是得到一个空白页面.
我已经查看了我从服务器获得的原始HTTP响应,我有一个实用程序,这个消息的主体(这是HTML)是我需要的,但是当页面在浏览器中加载时,DOM已经被修改. …
我正在小标签上打印QR码.
QR码中的数据量是可变的.打印机(例如Zebra GK420d)根据嵌入的数据量更改QR图像的大小/尺寸.
示例ZPL:
^FO38,2400
^BQN,2,10
^FDMA,http://ghospitals/gp/index.php/patient/120704^FS
Run Code Online (Sandbox Code Playgroud)
QR码大小应该是固定的.数据的增加应该增加密度而不是大小!
如何限制/定义打印的QR码的尺寸?
谢谢你的帮助.