(JavaScript).click()iframe中可点击的div

时间:2018-09-13 03:27:07

标签: javascript html5 iframe

想象一下这种情况,我有一个网站的iframe。 该网站内有一个按钮,我要通过javascript单击。

查看网站的HTML之后,我注意到该按钮实际上是一个类为like的div。

所以我尝试了这个:

function likeFunction() 
{
    var iframe = document.getElementById("myFrame");
    var elmnt = iframe.contentWindow.document.getElementsByTagName("div")[10];
    elmnt.click();
}

function likeFunction() 
{
    var iframe = document.getElementById("myFrame");
    iframe.contentWindow.document.getElementsByTagName("div")[10].click();
}

我最后的尝试是给div一个ID ='ex'

function likeFunction() 
{
    var iframe = document.getElementById("myFrame");
    iframe.contentWindow.document.getElementById("ex").click();
}

但是最后,对我来说真的什么也没做,有什么主意吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

只要iFrame在同一域中,您的解决方案就应该起作用。如果不是,您应该在此行上得到一个错误

iframe.contentWindow.document.getElementsByTagName("div")[10].click();

所以您可能已经注意到了。

我唯一的想法是:

  • 您可能使用了错误的选择器,
  • 您可能正在iframe本身而不是父范围上运行发布的脚本
  • 在加载iFrame之前,您可能正在运行此程序。也许在父文档上运行此onDocumentComplete或其他方式。
  • 点击侦听器所在的元素可能与您在编程上点击的元素不在同一元素上。

但是在我提到的情况下,您应该遇到一个错误,而您没有提到。

否则,常规方法适用于我的测试。