如何使用 PhantomJS 获取网站的 HTML 源代码

2023-11-25

下面是 PhantomJS 的示例,它通过 DOM id 从外部网页获取一些元素:

var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
page.settings.userAgent = 'SpecialAgent';
page.open('http://www.httpuseragent.org', function(status) {
  if (status !== 'success') {
    console.log('Unable to access network');
  } else {
    var ua = page.evaluate(function() {
      return document.getElementById('myagent').textContent;
    });
    console.log(ua);
  }
  phantom.exit();
});

我想要获取网页的完整 HTML 源代码...我该怎么做?


您所要做的就是使用page.content

var page = require('webpage').create();
page.onError = function(msg, trace) {
  //prevent js errors from showing in page.content
  return;
};
page.open('http://www.httpuseragent.org', function () {
    console.log(page.content); //page source
    phantom.exit();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PhantomJS 获取网站的 HTML 源代码 的相关文章

  • 如何保存 Tensorflow.js 模型?

    我想制作一个创建 保存和训练 tensorflow js 模型的用户界面 但我无法在创建模型后保存模型 我什至从tensorflow js文档复制了这段代码 但它不起作用 const model tf sequential layers t
  • Haxe for javascript 没有全局命名空间污染?

    此问题仅适用于 Haxe 版本 我知道 haxe 一段时间了 但直到昨天才真正使用过它 出于好奇 我决定移植对决 js http wmd editor com examples splitscreen 一个 javascript 端口降价
  • 为什么我必须将所有脚本放入 jquery mobile 中的index.html

    我在我的phonegap jquerymobile 项目中使用 mobile changepage 进行重定向 然而让我困惑的是我需要将所有页面的脚本放在同一个文件index html中 如果不是 则重定向页面无法执行其标头中的函数 例如
  • 带有 nextjs 的 Material-ui 选项卡?

    我有一个 Material ui nextjs 和 typescript 项目 我正在尝试让我的导航栏与 nextjs 一起使用 import as React from react import AppBar from material
  • 如何在D3节点中放置图像?

    到目前为止 我已经创建了这些 D3 节点 用于创建可折叠的层次树 到目前为止 这些节点的颜色为 AA1C1C 深红色 以表明如果您单击它们 它们将扩展到更多节点 我想要做的是在节点中使用图像中的位置 这对于所有用户来说都是一个加号 以知道它
  • 按住鼠标时 JavaScript 重复动作

    是否有一个 JavaScript 函数每隔如此多的毫秒重复一次 以至于按住 html 按钮 如果这可以使用标准 JavaScript 来完成 那就太好了 但使用 jQuery 或 jQuery 插件也很棒 On the mousedown
  • 在 Cytoscape.js 中为家谱设置边缘样式

    我有一个使用 Django 的家谱应用程序 我正在尝试使用http js cytoscape org http js cytoscape org对于用户界面 我想设置之间的边缘样式浪漫的伴侣像这样 http www eprintableca
  • 在 Fabric.js 中进行裁剪的“toDataURL”函数中,Multiplier 属性无法正常工作

    我的原始尺寸canvas is 800X700 我在用clipTo要在画布的选定部分中工作 var rect new fabric Rect left 100 top 50 fill fff width 376 height 602 str
  • 添加数组的总和。显示1个输出

    更新 这个问题的答案如下 感谢在不同线程上进行的 dougtesting 将数组相加 显示总和 https stackoverflow com questions 45724641 add array together display su
  • 获取 Firebase AngularFire 中项目的索引 ID

    这里提出了类似的问题 但接受的答案并没有真正回答这个问题 使用 AngularFire 是否可以创建关系型数据库 或者访问 UniqueID https stackoverflow com questions 16879484 using
  • 如何在 jQgrid 中隐藏列但在添加/编辑面板中显示此列

    我想要一种我使用的控制形式 但字段数量太高了 如何显示网格 但只有表单添加 编辑弹出面板中的某些字段显示所有字段 以下是您可以执行此操作的方法 colModel name email label E mail editable true h
  • 如何按日期升序对对象进行排序?

    如果我有一个对象列表 var objectList LIST OF OBJECT each object列表中包含三个属性 name date gender 如何按 对列表中的对象进行排序date 属性升序 the date 属性包含字符串
  • 如何在 d3.js 中填充 svg 圆圈内的图像

    这是我在 svg 中填充圆圈的代码 var svgContainer d3 select body append svg attr width 1000 attr height 1000 var circles svgContainer s
  • LINQ SingleOrDefault() 等效项

    在 Typescript 中 我经常使用这种模式 class Vegetable constructor public id number public name string var vegetable array new Array
  • 使用 System.js 导入 Typescript 编译的模块时出错

    我最近正在学习使用 system js 导入由 Typescript 编译的模块 这些模块之前是为 require js 编译的 并且工作正常 但是合并到system js时 应用时无法导入模块系统生产 js 控制台说 Uncaught i
  • 如何使 Meteor 上的服务器可以访问文本文件

    我很惊讶我无法在这里搜索我的答案 似乎没有其他人遇到这个问题 当您运行meteor服务时 js html等被打包在 meteor local build文件夹中 但它似乎排除了不是js或html的内容 我有一个名为 magicsets 的文
  • 如何实现 chromecast 对 html5 播放器的支持

    我使用js和html5设计了一个具有一些自定义功能的html5播放器 现在我需要在html5播放器上添加chromecast选项 例如https raw githubusercontent com kim company videojs c
  • 在成功回调之前修改 JSONP 结果

    我想从外部服务加载一些 JSON 数据 然而 它提供 foo bar useful 而我真正关心的是 有用 的部分 我需要将那部分传递给success打回来 我正在尝试使用Deferred一次从多个数据源加载 类似this https st
  • 掩码输入数字 - 百分比

    如何通过 jQuery 创建具有百分比的数字掩码输入 我是否让输入仅接受三个数字 并在用户完成输入时在数字后添加百分号 keyup 我不使用插件 例子 1 Or 30 Or 99 Or 100 Or 200
  • 如何使 CSS 动画/过渡以固定速度而不是固定持续时间播放? [复制]

    这个问题在这里已经有答案了 我有一个 CSS 动画 可以使元素沿直线移动未定义的距离 据我所知 动画具有固定的持续时间 因此无论元素必须移动多远 动画始终需要相同的时间来运行 我该如何制作才能使动画没有固定的duration 但有固定的运动

随机推荐

  • 致命异常:android.view.WindowManager$BadTokenException 无法添加窗口——令牌无效;您的活动正在运行吗?

    我知道这个问题已经讨论过好几次了 但相信我 我从来没有得到任何有效的答案 在我的主要活动中 我使用了几个对话框来通知用户某些操作 但我在小米设备上大多数情况下 特别是 96 都会遇到此特定错误 Fatal Exception android
  • 以编程方式使用 Eureka 客户端问题 - DiscoveryClient 已完成关闭

    我已经创建了具有复制功能的 Eureka 服务器现在尝试启动客户端 当我尝试启动时spring microservices eureka client 我收到以下错误 使用 Spring Boot 版本2 1 1 RELEASE 启动版本也
  • Jquery加载https url

    我有这个问题 在外部网站中我有一个像这样的脚本 div div example com 采用 https 允许 http 和 https 在脚本 widget js 的服务器中 我有 idtest load https example co
  • 使用 Typescript 通过 Webpack 动态加载模块

    我正在尝试构建一个支持插件的 Web 应用程序 环境是 Angular 2 到目前为止 Typescript 2 1 和 Webpack 2 我有一些扩展点 插槽 插件可以在其中绘制内容 基本上我有一个组件 它能够托管运行时已知的其他一些组
  • 脚本由 Bash 执行时产生的结果与由 cron 执行时产生的结果不同

    请考虑以下 crontab root SHELL bin bash 0 3 var maintenance raid sh 和 bash 脚本 var maintenance raid sh bin bash echo n Checking
  • 了解 Python Pickle 不安全性

    Python 文档中指出pickle不安全 不应解析不受信任的用户输入 如果你研究这个 几乎所有的例子都证明了这一点system 通过呼叫os system 我不清楚的是如何os system没有被正确解释os正在导入模块 gt gt gt
  • 如何获取 win32 API 中所有屏幕的尺寸(RECT)?

    我正在为测试团队编写一份应用程序 该应用程序的作用是让您截取屏幕任何部分的屏幕截图 然后将其连同注释一起上传到测试团队服务器 截屏涉及选择屏幕上要截屏的区域 为此 我创建了一个半透明窗口并将其覆盖在整个屏幕上 我目前正在使用GetDeskt
  • 在 Google 地图上放置图钉

    我需要将用户重定向到 Google 地图页面并在定义的位置上放置一些图钉 问题是您可以通过简单的请求轻松地将地图集中在某个点上 但是对于这样的要求如何设置pin呢 您可以使用 我的地图 来执行此操作 创建或打开地图 单击编辑进入编辑模式 单
  • 获取作为给定项目实例的所有维基数据项目

    维基数据有一个项目叫做智能手机型号 我想获取它的所有实例 问题 如何使用实时服务器以编程方式获取实例的标识符 最好不包括出现在 WhatLinksHere 但位于 Wikidata 命名空间而不是主命名空间中的误报 您的问题指定了 Medi
  • 在 JavaScript 中获取下周的某一天的日期

    根据今天的日期 new Date 我想在 javascript 中获取下周四晚上 7 点的日期 例如 如果今天的日期是 Mon Apr 24 2017 13 00 00 GMT 我正在寻找结果 Thu Apr 27 2017 19 00 0
  • 隐藏 Samsung Galaxy 设备上的“不支持 NFC 标签类型”错误

    我正在开发一款仅扫描 MIFARE Classic 卡的 UID 的应用程序 以方便考勤登记 我已经让它工作了 然而 每次我在 Galaxy S4 上扫描卡时 都会收到一条提示 不支持 NFC 标签类型 我想在应用程序打开时阻止或隐藏该消息
  • python - 从浮点数中删除所有小数

    如何从浮点数中删除所有小数位 a 100 0 我希望它变成 100 I tried str a rstrip 0 但它刚刚返回1 将其转换为怎么样int gt gt gt int a 100 为了完整起见 有很多方法可以从十进制数的字符串表
  • gdb 终止于信号?,未知信号

    我只是尝试在 Mac OSX 版本 10 12 上使用 gdb 调试代码 但在 gdb 中启动程序时总是遇到此未知错误 我在安装后对 gdb 进行了代码签名 并使用 g 标志编译了我的代码 这就是正在发生的事情 computer hello
  • 如何使用 refs 访问/覆盖元素的 className?

    我有一个文本和一个按钮 我想要实现的是这样的 如果我单击按钮 文本将被隐藏 我想在不使用的情况下实现这一目标state class Test extends Component constructor props codes hide gt
  • app.config 中的用户范围与应用程序范围

    app config 中的用户范围和应用程序范围有什么区别 用户范围设置用于存储特定于每个用户的值 而应用程序范围设置用于所有用户 看看这个article
  • 列表 SwiftUI 中的每行是否可以有多个 NavigationLink?

    我无法在列表的同一行中使用多个 NavigationLink 看起来导航堆栈完全混乱了 因为你点击一次 它就会进入多个视图并不稳定地返回 在 TestList 中 我尝试在部分中添加单独的 NavigationLinks 并且尝试将 Nav
  • 网络浏览器键盘快捷键

    我有一个显示一些 HTML 的 WebBrowser 控件 我希望用户能够复制整个文档 但不能执行任何其他操作 我已经设置了IsWebBrowserContextMenuEnabled and WebBrowserShortcutsEnab
  • 如何将 PKCS7_sign 结果转换为 char * 或 std::string

    我尝试编写一个小邮件过滤器来使用 S MIME 签署邮件 到目前为止 我已经完成了签署邮件的代码 我使用 openssl 中的 demos smime 代码示例来完成这项工作 不幸的是 这些示例演示了如何将输入消息写入输出文件 但我需要结果
  • SparklyR 从 Spark 上下文中删除表

    想要从 Spark 上下文 sc 中删除单个数据表 我知道单个缓存表可以取消缓存 但这与从 sc 中删除对象不同 据我所知 library sparklyr library dplyr library titanic library Lah
  • 如何使用 PhantomJS 获取网站的 HTML 源代码

    下面是 PhantomJS 的示例 它通过 DOM id 从外部网页获取一些元素 var page require webpage create console log The default user agent is page sett