如何使用tampermonkey在Google搜索框中设置一些文本?

我尝试了以下操作,但未设置任何文本:

// ==UserScript==
// @name         Google Search Test
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Testing selectors.
// @author       You
// @match        https://www.google.co.uk*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    var textinput = document.querySelector('input.gsfi[type=text]');
    textinput.value = "Cats";
})();

最佳答案

您的选择器是正确的。您只需在JavaScript控制台中输入代码document.querySelector('input.gsfi[type=text]')即可进行检查。它应该显示正确的元素。

Google网站的问题在于,在调用Tampermonkey函数(可能通过某些JavaScript)之后添加了input元素的类。

因此,一种解决方法是在短间隔后检查输入元素:

function test() {
    var textinput = document.querySelector('input.gsfi[type=text]');
    if (textinput!==null)
        textinput.value = "Cats";
    else
        console.log("textinput is null");
}

(function() {
    'use strict';
    setTimeout(test, 1000);
})();

10-06 00:07