繁体   English   中英

如何在 iframe 中模拟*真实* 鼠标单击元素

[英]How to simulate a *real* mouse click on element in iframe

$(selector).click()结果什么也没有发生。
此答案适用于浏览器控制台,javascript 上下文设置为 iframe,但不适用于主页: simulateMouseClick($("iframe").contents().find(selector))结果:

未捕获的类型错误:targetNode.dispatchEvent 不是函数
在 triggerMouseEvent (:5:20)
在 :8:9
在 Array.forEach()
在模拟鼠标点击 (:7:52)
在 :1:1

$("iframe").contents().find(selector).text()给了我预期的结果,所以它是正确的元素。

我怎样才能做到这一点?

编辑:将其添加为人们显然无法阅读:
$("iframe").contents().find(selector).click()
完全没有效果,因为.click()不会模拟真正的鼠标点击。

使用 jQuery :

$("iframe").contents().find(selector).click();

使用万尼拉 JS:

使用 window.frames 可让您访问 iframe 的窗口对象,如Mozilla 文档中所述

您可以使用此对象在 iframe 中查找元素并在脚本中使用它们。 例如 :

  var iframeWindow = window.frames[0];
  var element = iframeWindow.document.getElementsByClassName("selector")[0];
  element.click();

获取 jQuery 对象中的元素,并使用 vanillaJS .click .click()方法:

$("iframe").contents().find(selector)[0].click();

就是这样。

PS:我知道这是一个老问题,但我遇到了同样的问题并以这种方式解决了:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM