$(selector).click()结果什么也没发生。
这个答案在浏览器控制台中有效,并将 javascript 上下文设置为 iframe,但不是主页:
simulateMouseClick($("iframe").contents().find(selector))
结果是:
未捕获的类型错误:targetNode.dispatchEvent不是
triggerMouseEvent(:5:20)处的函数
,位于:8:9
处,位于Array.forEach()处
,位于simulateMouseClick(:7:52)处
:1:1处
$("iframe").contents().find(selector).text()给了我预期的内容,所以它是正确的元素。
我怎样才能做到这一点?
编辑:添加此内容是因为人们显然无法阅读:
$("iframe").contents().find(selector).click()
绝对没有效果,因为.click()不会模拟真正的鼠标单击。
小智 2
使用 jQuery :
$("iframe").contents().find(selector).click();
Run Code Online (Sandbox Code Playgroud)
与 Vannila JS 一起:
使用 window.frames 可以访问 iframe 的窗口对象,如Mozilla 文档中所述
您可以使用此对象查找 iframe 中的元素并在脚本中使用它们。例如 :
var iframeWindow = window.frames[0];
var element = iframeWindow.document.getElementsByClassName("selector")[0];
element.click();
Run Code Online (Sandbox Code Playgroud)