【发布时间】:2018-05-02 17:38:58
【问题描述】:
是否可以使用 PhantomJS 或 CasperJS 打开网页,然后在该页面上运行书签?
我想获取此结果的 DOM 以检查书签是否正确加载。
我已经在网上搜索并尝试了很多方法,但没有找到解决方案。
提前致谢。
【问题讨论】:
标签: javascript phantomjs casperjs bookmarklet
是否可以使用 PhantomJS 或 CasperJS 打开网页,然后在该页面上运行书签?
我想获取此结果的 DOM 以检查书签是否正确加载。
我已经在网上搜索并尝试了很多方法,但没有找到解决方案。
提前致谢。
【问题讨论】:
标签: javascript phantomjs casperjs bookmarklet
据我所知,我不相信 PhantomJS 或 CasperJS 使用书签使用的 javascript: 协议。
或者,您可以使用casper.evaluate() 来执行网页中的书签内容:
casper.evaluate(function () {
// Insert your bookmarklet code here
});
之后您可以使用casper.getHTML() 获取生成网页的 DOM。
【讨论】:
javascript: 部分,然后再将其放入函数中。
javascript: 解决。但看起来我的外部 js 文件中的代码没有被执行。该文件具有创建新脚本元素的功能。这个脚本元素有一个 onload 属性,它应该从位于外部服务器上的另一个 js 文件调用 javascript 代码。 PhantomJS 给我一个 TypeError: undefined is not an object (evalating xxxfunctionName) Trace: in function "onload".