javascript - 如何模拟*真实*鼠标单击 iframe 中的元素
问题描述
$(selector).click()
结果什么也没发生。
此答案适用于浏览器控制台,其中 javascript 上下文设置为 iframe,但不适用于主页:
simulateMouseClick($("iframe").contents().find(selector))
结果:
未捕获的类型错误:targetNode.dispatchEvent 不是
triggerMouseEvent (:5:20)
at :8:9
at Array.forEach () atsimulateMouseClick (
:7:52)
at :1:1 的函数
$("iframe").contents().find(selector).text()
给了我预期的东西,所以它是正确的元素。
我怎样才能做到这一点?
编辑:添加这个因为人们显然无法阅读:
$("iframe").contents().find(selector).click()
绝对没有效果,因为.click()
它不模拟真正的鼠标点击。
解决方案
使用 jQuery:
$("iframe").contents().find(selector).click();
使用 Vannila JS:
使用 window.frames 可以让您访问 iframe 的窗口对象,如Mozilla 文档中所述
您可以使用此对象在 iframe 中查找元素并在脚本中使用它们。例如 :
var iframeWindow = window.frames[0];
var element = iframeWindow.document.getElementsByClassName("selector")[0];
element.click();
推荐阅读
- javascript - 如何在javascript中根据当前日期使月份、日期和日期动态化?
- python - Python Pip 第一次失败([Errno 2] 没有这样的文件或目录),然后在第二次尝试时工作 - 为什么?
- solr - Solr 查询结果中的同义词
- c# - 如何在 xamarin 表单中开发响应式页面
- android - 将许可协议从我的工作站转移到 Azure Pipeline 代理
- angular - 如何在Angular2中同时验证多个formControls?
- java - How can I receive the file contents in my Vaadin service?
- java - java 8u201和8u202的区别
- javascript - WPAPI:在 WP UI 中未显示 API 创建页面的父页面
- php - PHP 5.x foreach 内部数组指针问题