繁体   English   中英

从 web 页面中获取 javascript 变量,无需交互/粗心大意

[英]Get a javascript variable from a web page without interaction/heedlessly

下午好,我们希望从网页中获取 javascript 变量,我们通常能够在 Chrome DevTools 中检索打字app

但是,我们希望无头地实现这一点,因为它必须在众多应用程序上执行。

我们的想法:

  • 在页面上使用 Puppeteer 实例到 go,键入命令并返回变量,这有效,但非常耗资源。

  • 对页面使用 GET/POST 请求试图注入 JS 命令,但我们没有成功。

然后我们想知道是否会有更简单的解决方案,例如可以提取变量的特殊 API? 目标是在没有人工交互的情况下自动执行此过程。

谢谢你的帮助!

您可以将 Chrome 嵌入到您的应用程序中并对其进行检测。 它将是无头的。
我们过去曾使用这种方法从 PowerPoint Online 复制内容。

我们使用 .NET 来执行此操作,因此使用了 CEFSharp。

您的问题与其说是关于 JS API(因为该网页不是您可以编辑的,您只能请求它),不如说是关于网络爬虫/浏览器自动化。

您必须添加详细信息才能获得明确的答案,但我看到两种情况:

  • 该网站主动检查人类浏览的证据(例如,它位于 CloudFlare 后面并已请求此选项); 或者脚本在很大程度上取决于是否有可用的浏览器执行环境。 在这种情况下,最简单的选择是使浏览器自动化,因为无头选项必须正确处理许多事情才能欺骗服务器或脚本。 我会使用空手道,它比 selenium 更容易,并且可以执行浏览器内脚本 它写在 Java 中,但你可以在外部执行它并只读它的报告。
  • 该网站不会检查此类证据,脚本也不需要浏览器执行环境。 然后你可以简单地在本地下载所有需要的东西,并尝试临时安装 JS 使其在任何 JS 环境中执行。 根据您的帖子,这失败了; 但除非你能描述它是如何失败的,否则它是不可能提供帮助的。 这个选项可以是无头的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM