-1

我正在学习在 Firefox 上使用 Greasemonkey。

在 Google 搜索结果页面上,我试图找到一个链接并单击它。

我给了搜索查询“cookie cut”。. 在结果中,有一个我试图查找并单击的 url merriam-webster.com的结果。

这是我到目前为止所写的。

function clickURLWithText () {
        var links = $('a[href*="merriam-webster.com"]');
        var randomNum = Math.floor(Math.random()*links.length);   
        var targetLink = links.get(randomNum);                      
        triggerMouseEvent (targetLink, "click");                    
}

function triggerMouseEvent (node, eventType) {
    // code comes here
}

然而,谷歌搜索似乎像这样打乱了网址:

<a href="/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=9&amp;cad=rja&amp;uact=8&amp;ved=2ahUKEwjltNj8w9ngAhVNip4KHQdJDdQQFjAIegQIDBAB&amp;url=https%3A%2F%2Fwww.merriam-webster.com%2Fdictionary%2Fcookie-cutter&amp;usg=AOvVaw3PbUvVz6q2bSTgondh9KCq" onmousedown="return rwt(this,'','','','9','AOvVaw3PbUvVz6q2bSTgondh9KCq','','2ahUKEwjltNj8w9ngAhVNip4KHQdJDdQQFjAIegQIDBAB','','',event)" data-cthref="/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=9&amp;cad=rja&amp;uact=8&amp;ved=2ahUKEwjltNj8w9ngAhVNip4KHQdJDdQQFjAIegQIDBAB&amp;url=https%3A%2F%2Fwww.merriam-webster.com%2Fdictionary%2Fcookie-cutter&amp;usg=AOvVaw3PbUvVz6q2bSTgondh9KCq">
<h3 class="LC20lb">Cookie-cutter | Definition of Cookie-cutter by Merriam-Webster</h3>
<br>
<div class="TbwUpd"><cite class="iUh30">https://www.merriam-webster.com/dictionary/cookie-cutter</cite></div>
</a>

在这种情况下,我如何找到 merriam-webster.com 并点击它的 href 部分?

4

1 回答 1

0

Google 搜索结果页面上似乎没有定义 jQuery(在控制台中键入$.fn.jquery)。因此,您可以将代码更改为:

function clickURLWithText () {
    var links = document.querySelectorAll('a[href*="merriam-webster.com"]');
    var randomNum = Math.floor(Math.random()*links.length);   
    var targetLink = links[randomNum];;                      
    targetLink.click();                    
}
于 2019-02-26T15:24:17.667 回答