我正在尝试为网站创建Web自动化。我正在模拟点击。通常我会向下面的元素添加ID,并使用Chrome开发者控制台触发点击,并始终有效。JavaScript - 模拟点击contextmenu
PS:以下问题是outdated.I我其实是想web.whatsapp.com
<div id="myapp">button1</div>
<script>
$("#myapp").click();
</script>
或者,如果这是行不通的,我用用mousedown
事件单击右键菜单中的项目像下面的纯JavaScript,它会顺利运行。现在
function triggerMouseEvent(node, eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent(eventType, true, true);
node.dispatchEvent(clickEvent);
}
var targetNode = document.querySelector("#myapp");
triggerMouseEvent(targetNode, "mousedown");
我的问题是:这是行不通的,它通过了jQuery插件contextMenu产生的菜单。
你可以看到contextMenu here的演示,我正通过开发者控制台测试上述内容。
所以,当你右击上下文菜单上有手动添加ID #myapp
菜单之一,可与下面的代码它也通过开发者控制台,选择正确的元素与ul
和li
tags.I列出的菜单项列表。
var targetNode = document.querySelector("#myapp");
targetNode;
但我无法触发点击通过上下文菜单生成的菜单项。我挣扎了24小时以上。我尝试了所有我能想到的JavaScript事件,如mouseup
,mousedown
和mouseenter
。
嘿谢谢你的解决方案,但它没有在我正在测试的地方工作......它其实web.whatsapp.com ..如果你右键单击任何地方它列出这个contextmenu ...它不工作在那里。 。我已经把它的示例html代码放在这里https://jsfiddle.net/adjmpw/ympnzb1c/4/ ..它在那里工作。但不能在web.whatsapp.com.Maybe工作,它的父母是绝对定位? 。请帮助我,我会给你想要多少赏金 – Vishnu
嗨,谢谢你非常感谢你,我实际上能够使用鼠标悬停事件触发上下文菜单,并点击.icon-down,但无法点击静音按钮..我知道为什么..因为isTrusted ..我打算使用硒..即使有Trusted Trusted,硒可以单击这些按钮吗?你可以告诉任何好的JavaScript包装硒的地方,这个行动和任何行动都是可能的。 – Vishnu
非常欢迎您!是的,它可以和Selenium一起工作,因为它可以在较低的层次上模拟点击和鼠标移动。我个人没有任何JS包装的经验,但你可以试试WebdriverIO,我把它链接到我的答案中。 –