Javascript 如何在没有id的iframe中获取div类中的文本?

Javascript 如何在没有id的iframe中获取div类中的文本?,javascript,html,tampermonkey,Javascript,Html,Tampermonkey,我正在尝试编写一个tampermonkey脚本,从以下html页面提取网站: <html> <head></head> <body> <iframe src="http://some-url.com/ll" title="test" name="ws_block" frameborder="0" scrolling="no" style="border:0px; width:100%; height: 320p

我正在尝试编写一个tampermonkey脚本,从以下html页面提取网站:

<html>
    <head></head>
    <body>
        <iframe src="http://some-url.com/ll" title="test" name="ws_block" frameborder="0" scrolling="no" style="border:0px; width:100%; height: 320px;">
            <html>
                <head>
                        <!-- A particular character set can be specified by assigning "charset" -->
                    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
                    <title>Title</title>
                    <link rel="stylesheet" href="/en/Custom/blockStyle.css" type="text/css">
                </head>
                <body>
                    <div class="wrapper">           
                        <div id="logo"><img src="/banner.gif" alt="[ORG]" border="0"></div>
                        <div class="block-body">
                            <div class="textLine">
                                <div class="ws-label label" data-strid="url"><script> ws.print("url"); </script>Address:</div>
                                <div class="text">https://www.my_website.com/</div>
                            </div>
                            <div class="textLine">
                                <div class="ws-label label" data-strid="category"><script> ws.print("category"); </script>Category:</div>
                                <div class="text">My-Website</div>
                            </div>
                        </div>
                    </div>  
                </body>
            </html>
        </iframe>
    </body>
</html>

标题
ws.print(“url”);地址:
https://www.my_website.com/
ws.print(“类别”);类别:
我的网站
我正在尝试提取我的网站链接:

窗口对象有一个包含页面中所有iframe的
框架
数组,因此您可以迭代它并尝试获取内容

如果您只有一个iframe,那么
window.frames[0].getElementsByCassName(classname)
就可以了


请查看上的文档
窗口
对象有一个
框架
数组,其中包含页面中的所有iframe,因此您可以对其进行迭代并尝试获取内容

如果您只有一个iframe,那么
window.frames[0].getElementsByCassName(classname)
就可以了


请查看其文档

出于安全原因,您无法通过javascript访问其他源(域)iFrame

您应该使用服务器端语言(如php)来实现这一点

如果域和iframes src位于一个原点,则可以使用如下方式:


出于安全原因,您不能通过javascript访问其他源(域)iFrame

您应该使用服务器端语言(如php)来实现这一点

如果域和iframes src位于一个原点,则可以使用如下方式:


有许多不同的方法可以在DOM中查找不涉及使用ID的元素

您需要找到元素的其他标识特征并使用它

例如:

document.querySelector("iframe");
…将返回文档中的第一个iframe



在这之后,您将使用完全相同的方法,如果您通过id获得iframe,那么您将使用相同的方法。

有许多不同的方法可以在DOM中查找不涉及使用其id的元素

您需要找到元素的其他标识特征并使用它

例如:

document.querySelector("iframe");
…将返回文档中的第一个iframe



之后,您将使用与通过id获取iframe时完全相同的方法。

这是错误的。如果主文档和iframe都属于同一个域,则可以访问。他在问题bro@r1versidet中输入了iframe url和他自己的网站url这是一个假设。请重新表述你的答案。我编辑了我的答案,谢谢你的关心@这是不对的。如果主文档和iframe都属于同一个域,则可以访问。他在问题bro@r1versidet中输入了iframe url和他自己的网站url这是一个假设。请重新表述你的答案。我编辑了我的答案,谢谢你的关心@r1versideI能够使用chrome控制台找到文档,但不能使用TamperMonkey。结果表明,我需要一段时间才能从iframe中提取文档,因为它仍在加载。您可能能够侦听它的document ready事件。尝试使用
window.onload
我的意思是
window.frames[0]。onload
在这种情况下,我可以使用chrome控制台找到文档,但不能使用TamperMonkey。事实证明,我需要一段延迟才能从iframe中提取文档,因为它仍在加载中。您可能能够侦听它的文档就绪事件。尝试使用
window.onload
我的意思是
window.frames[0]。在这种情况下,onload