如何从iFrame中的元素捕获动态内容?

如何从iFrame中的元素捕获动态内容?,iframe,playwright,Iframe,Playwright,当我试图从iFrame中的元素捕获文本时,元素内容每秒都在变化,我得到“未定义”。我可能做错了什么 代码: 谢谢你的重播。是在浏览器中运行JS函数的API,该函数将元素作为参数 我相信你正在寻找的是对这个元素的一种理解。您可以为此目的使用或。我已经证实它们不是未定义的 /。。。 let handle=wait contentFrame.waitForSelector(文本路径); const { firefox } = require('playwright'); const fs = req

当我试图从iFrame中的元素捕获文本时,元素内容每秒都在变化,我得到“未定义”。我可能做错了什么

代码:

谢谢你的重播。是在浏览器中运行JS函数的API,该函数将元素作为参数

我相信你正在寻找的是对这个元素的一种理解。您可以为此目的使用或。我已经证实它们不是未定义的

/。。。
let handle=wait contentFrame.waitForSelector(文本路径);
const { firefox } = require('playwright');
const fs = require('fs');
var url = 'http://jsfiddle.net/6vnam1jr/1/show';
var section_path = 'xpath=/html/body/div/div/div/section';
var iframe_path = 'xpath=/html/body/div/iframe';
var text_path = 'xpath=//html/body/div[2]/div[2]';
async function getElementText(browser,page){
  await page.goto(url);
  await page.click(section_path);
  
  const frame = await page.$(iframe_path);
  const contentFrame = await frame.contentFrame();
  await sleep(1000);
  let handle = await contentFrame.$eval(text_path);
  console.log(handle)
  
  // try again
  await sleep(1000);
  handle = await contentFrame.$eval(text_path);
  console.log(handle)
  
  closeBrowser(browser);
}
async function closeBrowser(browser){
  await browser.close();
}
function sleep(ms) {
    return new Promise((resolve) => {
      setTimeout(resolve, ms);
    });
}
(async () => {
  const browser = await firefox.launch({ headless: false });
  const page = await browser.newPage();
  getElementText(browser,page);
})();```