【问题标题】:Interacting with elements within nested iFrames, Existing on page but returning null与嵌套 iFrame 中的元素交互,页面上存在但返回 null
【发布时间】:2021-04-11 16:31:50
【问题描述】:

我正在编写一个脚本,它将为我下载报告。我的步骤之一是检查表格以获取我想要提取的报告的正确日期。我正在处理的网站很旧,它们是使用多个 iFrame 设置的(它们属于同一个域)。

根据我的研究,我想出了这一行来返回表格中某一行的 innerText

document.getElementById('iframe1').contentWindow.document.getElementById('iframe2').contentWindow.document.getElementsByClassName('status_table')[5].innerText

iFrame2 包含包含我要访问的所有信息的表。这条线有效,但只是有时。当我刷新页面,等待 10 秒并运行命令时,它返回 null。似乎在我扩展了 google chrome 中的所有元素之后,或者稍微弄乱了页面之后它开始工作并返回正确的信息。

我不确定这里发生了什么,我访问元素是否错误?为什么在我单击页面上的内容或在开发控制台中展开元素后它开始工作?任何帮助将不胜感激!

【问题讨论】:

    标签: javascript dom iframe


    【解决方案1】:

    由于某种原因,当我使用 getElementsByTagName 而不是 getElementByID 时,它一直有效!

    document.getElementsByTagName('iframe')[2].contentWindow.document.getElementsByTagName('iframe')[0].contentWindow.document.getElementsByClassName('status_table')[5].innerText.toString();
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2021-11-11
      • 2013-02-09
      • 2021-07-28
      • 2022-07-01
      • 1970-01-01
      相关资源
      最近更新 更多