如何使用Javascript选择Google搜索栏
我正在使用Chrome扩展名“Shortkeys”编写快捷可执行Javascript代码,在浏览谷歌搜索时选择谷歌搜索栏。重要提示:我不是要选择Chrome的地址栏,而是谷歌网站上的实际搜索栏。我使用“inspect element”找到了搜索栏元素,并发现它位于类为“a4bIc”的div中。搜索栏元素的第一个标记是“input”。所以我的代码是:如何使用Javascript选择Google搜索栏,javascript,html,google-chrome,google-chrome-extension,css-selectors,Javascript,Html,Google Chrome,Google Chrome Extension,Css Selectors,我正在使用Chrome扩展名“Shortkeys”编写快捷可执行Javascript代码,在浏览谷歌搜索时选择谷歌搜索栏。重要提示:我不是要选择Chrome的地址栏,而是谷歌网站上的实际搜索栏。我使用“inspect element”找到了搜索栏元素,并发现它位于类为“a4bIc”的div中。搜索栏元素的第一个标记是“input”。所以我的代码是: var x = document.querySelectorAll("div.a4bIc input")[document.selectedResu
var x = document.querySelectorAll("div.a4bIc input")[document.selectedResultId]
只是它没有选择搜索栏。我遗漏了什么?三条建议:
[name='q']
节点列表
的成员(这与非常类似的HTMLCollection
对象形成对比。不要担心,如果它看起来令人困惑,那是因为它是!)。对于这样的简单查找,我建议使用,它将直接返回第一个选定的节点.focus()
和进行某种组合。在我刚才的测试中,我只能通过启动focus然后单击after来获得建议的下拉列表
function openGoogleSearchUI(){
let searchInput = document.querySelector("[name='q']");
searchInput.focus();
searchInput.click();
}
当然,您可以根据需要调整对输入所做的操作,或者只使用document.querySelector
行直接获取输入元素
买主警告:我只能在我刚刚在英国收到的桌面Chrome上的谷歌搜索用户界面上看到这一点。不能保证将来它会以相同的方式工作,也不能从不同的设备上工作,因为谷歌可以随时更改代码的结构。这是什么
文档。selectedResultId
等于?使用文档尝试。getElementsByClassName(“gLFyf gsfi”)[0]代码>它将返回输入元素。您可以使用value
属性访问输入元素的值。它可以工作!非常感谢。我将searchInput.click()替换为searchInput.select()以突出显示文本以便于替换