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

Sanjitps

当我尝试从iFrame内的元素捕获内容每秒更改的文本时,我得到“未定义”。我可能做错了什么?

码:

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);
})();```
Arjunattam

感谢您的复制。frame。$ eval是一个API,用于在浏览器中运行JS函数,该函数将元素作为参数。

我相信您正在寻找的是此元素ElementHandle为此,您可以使用frame.waitForSelectorframe。$我已经证实它们不是不确定的。

// ...
let handle = await contentFrame.waitForSelector(text_path);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

[codeplayer]当iframe内容是通过textarea动态加载javascript时,如何在iframe中查找元素

来自分类Dev

如何在iframe中添加动态内容?

来自分类Dev

如何更改Jquery中动态生成的元素的HTML内容

来自分类Dev

捕获动态表中HTML元素的值

来自分类Dev

如何检测iframe内容元素的加载请求?

来自分类Dev

如何通过动态页面内容使元素静态

来自分类Dev

如何动态添加 HTML 元素/内容 - Angular

来自分类Dev

从jquery中的动态内容捕获所有音频结束事件

来自分类Dev

在HTML / JavaScript中,如何动态设置标题/段落元素的文本而不覆盖其他内容?

来自分类Dev

如何在JavaScript中的动态内容内创建动态内容

来自分类Dev

如何捕获动态数据表中元素的事件?

来自分类Dev

如何获得在iframe中动态创建的跨度?

来自分类Dev

如何获得在iframe中动态创建的跨度?

来自分类Dev

如何在iframe中动态包装文档?

来自分类Dev

如何在动态iframe中暂停vimeo?

来自分类Dev

如何在画布中捕获元素?

来自分类Dev

如何从“更改事件”元素中捕获事件?

来自分类Dev

如何从每个选择元素选项中检索文本内容并动态分配给div> span元素

来自分类Dev

如何在iFrame中访问DOM元素

来自分类Dev

如何从父文档访问iframe中的元素?

来自分类Dev

如何使用JQuery删除iframe中的元素?

来自分类Dev

如何使用 iframe 中的元素进行 if 语句?

来自分类Dev

如何动态加载模板中的内容

来自分类Dev

如何从跨域 iframe 中捕获(初始化)错误?

来自分类Dev

Vue2.x中伪元素内容的动态样式

来自分类Dev

Vue2.x中伪元素内容的动态样式

来自分类Dev

如何在动态信息中缓存动态内容?

来自分类Dev

如何删除在Javascript中动态添加的元素

来自分类Dev

如何从AngularJS动态表单中删除元素?

Related 相关文章

  1. 1

    [codeplayer]当iframe内容是通过textarea动态加载javascript时,如何在iframe中查找元素

  2. 2

    如何在iframe中添加动态内容?

  3. 3

    如何更改Jquery中动态生成的元素的HTML内容

  4. 4

    捕获动态表中HTML元素的值

  5. 5

    如何检测iframe内容元素的加载请求?

  6. 6

    如何通过动态页面内容使元素静态

  7. 7

    如何动态添加 HTML 元素/内容 - Angular

  8. 8

    从jquery中的动态内容捕获所有音频结束事件

  9. 9

    在HTML / JavaScript中,如何动态设置标题/段落元素的文本而不覆盖其他内容?

  10. 10

    如何在JavaScript中的动态内容内创建动态内容

  11. 11

    如何捕获动态数据表中元素的事件?

  12. 12

    如何获得在iframe中动态创建的跨度?

  13. 13

    如何获得在iframe中动态创建的跨度?

  14. 14

    如何在iframe中动态包装文档?

  15. 15

    如何在动态iframe中暂停vimeo?

  16. 16

    如何在画布中捕获元素?

  17. 17

    如何从“更改事件”元素中捕获事件?

  18. 18

    如何从每个选择元素选项中检索文本内容并动态分配给div> span元素

  19. 19

    如何在iFrame中访问DOM元素

  20. 20

    如何从父文档访问iframe中的元素?

  21. 21

    如何使用JQuery删除iframe中的元素?

  22. 22

    如何使用 iframe 中的元素进行 if 语句?

  23. 23

    如何动态加载模板中的内容

  24. 24

    如何从跨域 iframe 中捕获(初始化)错误?

  25. 25

    Vue2.x中伪元素内容的动态样式

  26. 26

    Vue2.x中伪元素内容的动态样式

  27. 27

    如何在动态信息中缓存动态内容?

  28. 28

    如何删除在Javascript中动态添加的元素

  29. 29

    如何从AngularJS动态表单中删除元素?

热门标签

归档