我很确定这是不可能的,但我需要确保在我放弃之前走另一条路。
我有一个位于iframe中的页面,菜单位于iframe之外。我需要以编程方式单击其中一个菜单项以执行操作。该应用程序构建得很奇怪,因此我尝试使用它并使其正常工作。 我无法进行任何HTML更改。
我的HTML看起来像这样。
<body>
<header>
<p><a id='menuItem'>Menu Item</a></p>
<p><a id='anotherMenuItem'>Another Menu Item</a></p>
</header>
<div id='mainContent'>
<iframe>
//Where all the content is and where the click will be happening.
</iframe>
</div>
</body>
这是需要发生的点击
$("#menuItem").click()
我已经尝试遍历以逃避iframe,但我没有运气。我也试过调用点击,但没有上下文,所以它不知道它在做什么。
我也尝试过这个 Access elements of parent window from iframe但是由于这种抓取元素的方式不适用于click()
函数。或者至少在我尝试时我无法让它工作
window.parent.document.getElementById('#menuItem').click()
我甚至无法找到window.parent.document.getElementById('#menuItem').length
来找到元素。
答案 0 :(得分:0)
这段代码看起来很可疑:
window.parent.document.getElementById('#menuItem').click()
#
是选择器语法的一部分,而不是ID本身的一部分。所以它是:
window.parent.document.getElementById('menuItem').click()
或:
window.parent.document.querySelector('#menuItem').click()