草庐IT

phantomjs-prebuilt

全部标签

javascript - PhantomJS 和修改 DOM

我正在开发一种工具,需要从第三方服务器下载网页,像浏览器一样执行它,然后解析HTML。我遇到的困难是,该工具需要在执行所有javascript并修改DOM后解析HTML。我正在尝试为此目的使用PhantomJS,它适用于一小段代码(只是一个带有外部javascript的小html文档,将一些节点添加到DOM)但是当我对真实网站(http://www.dba.dk/)做同样的事情时,我在js代码完成所有修改后,没有得到最终的HTML。我真的需要帮助,因为我已经坚持了一个多星期。我的PhantomJS代码很简单:if(phantom.state.length===0){if(phantom

html - 如何使用 phantomjs 打印 html 源代码到控制台

我刚刚在我的机器上下载并安装了phantomjs。我将以下脚本复制并粘贴到名为hello.js的文件中:varpage=require('webpage').create();varurl='https://www.google.com'page.onLoadStarted=function(){console.log('Startloading...');};page.onLoadFinished=function(status){console.log('Loadingfinished.');phantom.exit();};page.open(url);我想将完整的html源代码

javascript - 使用 phantomjs 获取 javascript 呈现的 html 源

首先,我不是在寻求任何开发或测试环境方面的帮助。我也是phantomjs的新手,我想要的只是phantomjs在linux终端上的命令行操作。我有一个html页面,其主体由一些javascript代码呈现。我需要的是我想使用phantomjs下载呈现的html内容。我不知道使用phantomjs。我在shell脚本方面有一些经验。所以我尝试用curl来做到这一点。但由于curl不足以渲染javascript,我只能获取默认源代码的html。未下载呈现的内容。我听说ruby​​mechanize可以做这个工作。但是我对ruby一无所知。因此,在进一步调查中,我找到了命令行工具phanto

ios - 在 Info.plist CFBundleSupportedPlatforms 或 Mach-O LC_VERSION_MIN 中找不到 phantomjs 的平台系列

我正在使用ionic构建一个混合应用程序,当我尝试将它上传到应用程序商店时,它给了我这个错误Couldn'tfindplatformfamilyinInfo.plistCFBundleSupportedPlatformsorMach-OLC_VERSION_MINforphantomjs有没有人遇到同样的问题并找到了解决方法?我怀疑它来self在我的项目中使用的导致错误的插件或node_modules.. 最佳答案 有同样的错误,在我的例子中,问题是我的包资源中有一些DSYM文件。通过从CopyBundleResources构建阶段

node.js - 如何在 phantomjs 脚本中使用 "node_redis"?

我想制作一个phantomjs脚本,作为消费者进程从redis服务器读取值。我看到Node(https://github.com/NodeRedis/node_redis)存在这个客户端,我连接、写入和读取时执行Node脚本没有问题。varredis=require("redis"),client=redis.createClient();client.on("error",function(err){console.log("Error"+err);});client.set("stringkey","stringval",redis.print);client.get("strin

javascript - 如何忽略 phantomjs 中的错误

我有一个网络爬虫,我使用phantomjs来解析页面,我想获取html,但我总是在html代码之前的输出中得到此类错误ReferenceError:Can'tfindvariable:collapse_content_selectorhttp://staticloads.com/js/toggle.js?v=2013.10.04:135TypeError:'undefined'isnotafunction(evaluating'$('[placeholder]').placeholderLabel()')我怎样才能阻止它 最佳答案

javascript - PhantomJS 是否支持 cookie?

是否PhantomJS支持cookies?如果是,我在哪里可以找到API详细信息?我查了半天也没弄明白。 最佳答案 是的,截至1.7Phantom具有完整的cookie处理功能,默认情况下启用。Cookie在进程的生命周期内保留。如果你想在运行Phantom时保留cookie,有一个command-lineoptioncookies-file您可以在其中指定持久性cookie的存储位置。--cookies-file=/path/to/cookies.txtspecifiesthefilenametostorethepersisten

javascript - phantomjs:找不到命令

我关注了theseinstructions(除了将可执行文件复制到我的PATH因为我似乎找不到它而且似乎没有必要)。然后我用在我的公共(public)javascripts目录中创建了一个名为image_render.js的文件console.log('Hello,world!');phantom.exit();在其中,保存它,然后在我的终端中运行phantomjsrender_image.js。但是,我的终端无法识别命令:-bash:phantomjs:commandnotfound我做错了什么? 最佳答案 PATH确实是重要的部

javascript - Karma、PhantomJS 和 es6 Promises

我正在编写一个使用新的es6promise的JavaScript库。我可以在Firefox中测试该库,因为已定义promise。但是,当我尝试使用Karma和PhantomJS测试我的代码时,出现错误Can'tfindvariable:Promise.。我猜这是因为PhantomJS浏览器还不支持es6promises。我如何配置Karma以引入promise的polyfill? 最佳答案 您只需安装BabelPolyfill即可引入Babelpolyfill:npminstall--save-devbabel-polyfill然后

javascript - 如何使用 Phantomjs 向下滚动以加载动态内容

我正在尝试从一个页面中抓取链接,该页面会在用户向下滚动到底部(无限滚动)时动态生成内容。我曾尝试使用Phantomjs做不同的事情,但无法收集第一页以外的链接。假设底部加载内容的元素具有类.has-more-items。它在滚动时加载最终内容之前可用,然后在DOM中变得不可用(显示:无)。这是我尝试过的东西-在varpage=require('webpage').create();之后立即将viewportSize设置为较大的高度page.viewportSize={width:1600,height:10000,};在page.open中使用page.scrollPosition={