javascript - 使用 puppeteer-core 连接到 Chrome 中当前事件的选项卡

标签 javascript node.js puppeteer webautomation

我正在使用 puppeteer-core并连接到我自己的 chrome 安装。这工作正常,但如何在当前事件的选项卡上执行命令?如何获得对它的引用?

const wsChromeEndpointurl = 'ws://127.0.0.1:9222/devtools/browser/12345';
const browser = await puppeteer.connect({
    browserWSEndpoint: wsChromeEndpointurl
});

const page = <active tab> // what do I need here?
(我的目标是做一些事情,比如手动登录网站,然后让 puppeteer 接管。所以我真的想用 puppeteer-core )

最佳答案

没有直接的 API 来解决这个问题,但您可以遍历 pages数组并评估 visibilityState文档的属性。

async function activePage() {
  const allPages = await context.pages();
  for(let page of allPages) {
    const state = await page.evaluate(() => document.visibilityState);
    if(state === 'visible') {
      return page;
    }
  } 
}

关于javascript - 使用 puppeteer-core 连接到 Chrome 中当前事件的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64035258/

相关文章:

node.js - 让 https express Node 应用程序在共享主机上工作

javascript - 捕获 waitForSelector 错误

javascript - 获取 puppeteer 页面的默认超时设置

node.js - Mongoose如何实现嵌套查询

node.js - 如何在 Node js 应用程序中使用 azure-cli Node 包

typescript - puppeteer:单击 shadowroot 中的按钮

javascript - 在设置状态 React JS 之前检查对象数组是否存在于对象数组中的简单方法

javascript - 使用 ajax 加载内容后执行 javascript 函数

javascript - Reactjs,redux 授权注销问题

javascript - 从数组中选择一个随机字符串