Javascript jquery自动点击到基础元素

Javascript jquery自动点击到基础元素,javascript,jquery,click-through,Javascript,Jquery,Click Through,我不知道这是否可能 但我想在外部站点的元素上自动clic 要求通过点击下一页完成所有章节,完成在线培训。培训只需要浏览大量的章节。由于我无法访问该网站的代码 所以我把这个站点放在一个iframe中,在可点击的元素区域上放置一个透明的div 指针事件:无 我还可以通过以下方式实现自动单击我的div元素 var time=5; interval = setInterval(function() { time--; document.getElementById('Label1').i

我不知道这是否可能

但我想在外部站点的元素上自动clic

要求通过点击下一页完成所有章节,完成在线培训。培训只需要浏览大量的章节。由于我无法访问该网站的代码

所以我把这个站点放在一个iframe中,在可点击的元素区域上放置一个透明的div

指针事件:无

我还可以通过以下方式实现自动单击我的div元素

var time=5;
interval = setInterval(function() {
    time--;
    document.getElementById('Label1').innerHTML = "" + time + " seconds"
    if (time == 0) {
        // stop timer
        clearInterval(interval);
        // click
        document.getElementById('clickdiv').click();
    }
}, 1000)
但挑战在于点击一个底层元素。我可以用鼠标或键盘来做。但是click()函数似乎只对上面的div起作用。问题是,为什么下面的div不能像鼠标或键盘那样起作用

HTML


如果您无法访问外部站点的代码,则无法执行此操作。如果是这样的话,请停在这里:-)

虽然您不能像这样单击iFrame,但可以使用
postMessage
向其发送命令

基本上你需要这样称呼它:
yourIframe.postMessage(“message”,payload)

并在iFrame源中这样处理它:

window.addEventListener("message", receiveMessage, false);

function receiveMessage(event)
{
    if (event.origin !== "http://example.org:8080")
    return;

 // ...
}

用一个简单的网页是做不到这一点的。您可以使用浏览器扩展来完成此操作。(根据你的描述,听起来你不应该这么做,但是…@t.J.Crowder我一直在尝试Chromium浏览器自动化和Firefox Selenium…但无法真正实现我想要的。我只是在尝试一个无害的项目来完成一个庞大的培训大纲:)你能告诉我如何把它打包成脚本吗?这样我就可以试一下了。这基本上就是你所需要的。在receiveMessage中,您需要执行逻辑。我想,如果没有访问iframe源代码,那么它对我的purpose@Amateur如果没有访问权限,你就做不到
#clickdiv{width:50px;height:20px;border:1px solid green;position:absolute;top:57%;left:10%;z-index:100;pointer-events:none;background-color:red;color:white}
#Label1{width:50px;height:20px;border:1px solid green;position:absolute;top:77%;left:10%;z-index:100;}
#Label2{color:red;width:50px;height:20px;position:absolute;top:87%;left:10%;z-index:100;}
window.addEventListener("message", receiveMessage, false);

function receiveMessage(event)
{
    if (event.origin !== "http://example.org:8080")
    return;

 // ...
}