簡體   English   中英

如何在瀏覽器控制台中通過 Javascript 雙擊 web 頁面中的單詞

[英]How to double click a word in a web page by Javascript in browser's console

HTML :

<iframe .....
<p class="textClass"> Some Text.............
<span id="unique-id"> Double-Click Me</span>
</p>
</iframe>

要求:

我需要通過在瀏覽器的控制台中傳遞 Javascript 以雙擊單詞Double-Click Me來以編程方式觸發雙擊。 有一次,我雙擊會打開一個彈窗window,我可以在其中為雙擊的單詞添加評論。

解決方案嘗試:

  1. 使用 Selenium 的 Actions class 雙擊方法僅適用於 Chrome 瀏覽器,不適用於 Firefox、IE、Edge 和 Safari。

  2. 嘗試了許多 Javascript 可用於雙擊元素 - 沒有任何效果

var evObj = new MouseEvent('dblclick', {bubbles: true, cancelable: true, 
view: window});
evObj.dispatchEvent(evObj);

我們將添加一個 onclick 事件,將變量設置為 0 以計算點擊次數。

然后我們將檢查點擊次數是否為 2,如果是,我們將提示用戶輸入一個新詞,獲取值並將其放置在舊詞的位置。

假設您希望多次更改此值,我們需要將變量重置為 0,或者在我的示例中,將點擊次數取模 2 並檢查余數是否為 0(最終查看它是否為偶數!) ,然后我們可以非常輕松地記錄總點擊次數(如果這與您完全相關)。

<p class="textClass"> Some Text.............
<span id="unique-id" onclick="double()"> Double-Click Me</span>
</p>
<script>
var clickNum = 0;
function double(){
    clickNum += 1;
    if (clickNum % 2 == 0){
        var newWord = prompt("Enter word: ");
        document.getElementById("unique-id").innerHTML = newWord;
    }
}
</script>

編輯:好的,顯然您希望能夠雙擊頁面上的單詞。 你需要的是一個用戶腳本(Tampermonkey/Greasemonkey 可以工作)。

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @match        * //Add your website here so it doesn't execute on every page you visit!
// @author       You
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    document.getElementById("unique-id").click;
    document.getElementById("unique-id").click";
})();

我真的希望這是你想要的。 如果你的意思是別的,那么請仔細澄清。

你可以試試下面的代碼

var Clickevent = new MouseEvent('dblclick', {'view': window});
document.getElementById('unique-id').dispatchEvent(Clickevent);

所以對我來說,以下適用於雙擊:

var clickEvent = new MouseEvent('dblclick', {bubbles:true, isTrusted:true});
document.getElementById('unique-id').dispatchEvent(clickEvent);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM