使用classname访问iframe

时间:2018-03-27 07:31:01

标签: javascript html iframe

<iframe class="class_name">
        <html>

          <head></head>

          <body>

            <div>
              <!-- All of the stuff -->
            </div>

          </body>

        </html>
    </iframe>

如何访问此iframe的元素?

  

.frame("class='classname'")

以上不起作用。

4 个答案:

答案 0 :(得分:1)

但是由于安全政策,它不会起作用。在你的机器上试试吧。 详细了解X-XSS-Protection

var frame = document.querySelector(".myframe");

var content = frame.contentDocument;

console.log(content);
<iframe class="myframe" width="560" height="315" src="http://www.weather.gov/" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

答案 1 :(得分:0)

尝试使用ID

601,050.00

并使用

<iframe id="your_id"> 

答案 2 :(得分:0)

虽然两个iframe具有相同的类,但这只会隐藏第一个iframe。

function hide() {
var iframe = document.getElementsByClassName("iframe");
iframe[0].style.display = "none";
}
<iframe class="iframe"></iframe>
<iframe class="iframe"></iframe>
<br>
<button onclick="hide()">Hide 1st Iframe</button>

此代码的作用是什么?

document.getElementsByClassName("iframe")获取类iframe的所有元素,并将元素设置为名为iframe的变量的值。 []内的数字定义了许多元素中的一个元素。如果[]内的数字是0,则定义元素组中的第一个元素。 []之后,您可以设置所需的属性。

答案 3 :(得分:0)

假设您正在使用夜视仪 - 我看到您正在使用.frame(),这是用于选择iframe的Nightwatch方法 - 您无法通过切换到iframe,但您可以使用如果元素具有名称属性,则为索引或按名称。

这些帖子应该有所帮助:

Can't select an Iframe in selenium webdriver

Selecting nested iframe - selenium / javascript / node-js