我正在嘗試爲網站創建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,我把它鏈接到我的答案中。 –