gum*_*mik 5 javascript automation click web
我想写一些自动化的网站。只需填写表格并模拟元素点击即可。但是对于某些元素,JavaScript函数click()不起作用。例如,它在此页面上:http : //www1.plus.pl/bsm/如果我单击“ Wy?lij”按钮上的click(),则什么都不会发生。这是我的命令:
document.getElementsByClassName('tab-button')[0].click()
Run Code Online (Sandbox Code Playgroud)
怎么了?为什么在其他元素上可以使用此功能?
在您的帮助下,我找到了解决方案:
var evt = document.createEvent('MouseEvents')
evt.initMouseEvent('mousedown', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
document.querySelectorAll('.tab-button')[0].dispatchEvent(evt)
Run Code Online (Sandbox Code Playgroud)
请注意,它应该是mousedownevent 而不是click。有些网站的制作方式与其他网站不同。另一个重要的事情是第三个参数。它应该设置为false(在这种特殊情况下)。它设定了cancelable价值。没有这个设置false它不起作用。
谢谢大家的回答!