如何在javascript中模拟点击?
其中一个function是,当用户点击某些内容时,会发生一些事情。 如何在不调用函数的情况下模拟此单击?
使用jQuery,你可以执行$("#myElementId").click()
来模拟点击。
使用element.click()
可以轻松地模拟元素上的单击; 无需安装9000行jquery库就可以模拟点击。 如果您知道元素的ID,单击它将如下所示:
document.getElementById('someID').click();
如果没有id属性,获取要单击的元素会更难,但幸运的是有Xpath,因此获取并单击元素仍然可以在一行优雅的代码中完成。 请注意,contains方法只需要src属性的部分匹配。
document.evaluate(" //a[ contains(@src, 'someURL') ] ", document.body, null, 9, null). singleNodeValue.click();
或者和运算符可以这样使用:
document.evaluate(" //*[ contains(@id, 'someID') or contains(@name, 'someName') ] ", document, null, 9, null). singleNodeValue.click();
一个完整的多浏览器示例可能看起来像这样。 在IE8及以下版本中,如果你所在的元素没有id,你可以使用document.getElementsByTagName(’tagname’); 然后使用for循环来评估元素或其innerHTML的某些属性。
Click the text to simulate clicking the button above - the button will be automatically clicked in 3.5 seconds
如果有人碰到这个寻找框架无关的方法来解雇任何HTML和鼠标事件,请看一下: 如何使用JavaScript模拟鼠标点击?