【问题标题】:How to connect to a websocket with puppeteer and perform automation on that websocket如何使用 puppeteer 连接到 websocket 并在该 websocket 上执行自动化
【发布时间】:2020-10-23 23:22:28
【问题描述】:

在我的 HTML 页面上,我正在尝试使用 puppeteer 在 websocket 上执行 web 自动化。我尝试了不同的方法来运行此代码,但每次尝试时,都会出现各种不同的错误。我想知道是否可以使用特定代码来完成这项工作?

我的 HTML 代码:

<script src="https://unpkg.com/puppeteer-web">
</script>
<script>
async function run() {
let socket = new WebSocket("wss://javascript.info/article/websocket/demo/hello");

socket.onopen = function(e) {
  console.log("[open] Connection established");
  console.log("Sending to server");
  socket.send("hey");
};

socket.onmessage = function(event) {
  console.log(`[message] Data received from server: ${event.data}`);
};

socket.onerror = function(error) {
  console.log(`[error] ${error.message}`);
};

const browser = await puppeteer.connect({socket});
    const pagesCount = (await browser.pages()).length;
}
run();

</script>

【问题讨论】:

    标签: html web-scraping websocket puppeteer webautomation


    【解决方案1】:

    之前puppeteer-web 可以实现,但现在不行了。 Unpackaged versions of puppeteer 将不再起作用,即使您已将它们添加到 HTML 源代码中。

    您需要在服务器(后端)端使用 puppeteer。因此,如果您的应用程序到目前为止只是客户端:您还需要一个 Node.Js 服务器来运行刮板并通过端点将其输出数据提供给您的前端应用程序(很可能您会选择 Express这个目的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 2020-08-10
      • 1970-01-01
      相关资源
      最近更新 更多