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

时间:2017-08-21 18:39:44

标签: javascript html tampermonkey

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

<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>

我正在尝试提取我的网站链接:
https://www.my_website.com/

3 个答案:

答案 0 :(得分:2)

window对象有一个frames数组,其中包含您网页中包含的所有iframe,因此您可以对其进行迭代并尝试获取您的内容。

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

请查看MDN

上的文档

答案 1 :(得分:0)

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

你应该通过像php这样的服务器端语言来实现它!

如果域和iframes src在一个来源中,您可以像r1verside's answer一样使用:

window.frames[0].getElementsByClassName(classname)

答案 2 :(得分:0)

有很多不同的方法可以在DOM中找到不涉及使用其ID的元素。

您需要找到元素的其他识别功能并使用它。

例如:

document.querySelector("iframe");

...将在文档中返回第一个 iframe。

之后,如果你通过id得到iframe,你将使用完全相同的方法。