最近,我的一个朋友发现我经常打开标签页中的前几个 Google 结果而不先查看它们。现在我想直接从地址栏中打开最佳 Google 结果。我知道可以在设置中将自定义搜索引擎添加到地址栏中。但是,在使用这样的自定义搜索引擎时,如何让 Chrome 一次打开多个标签页?
答案1
您或许可以在后台运行一个网络服务器,接收查询并将其传递给 Google“手气不错”链接。打开多个标签显然需要您在 Chrome 中访问网站并明确允许弹出窗口。要打开前 3 个(而不仅仅是第一个)搜索结果,您可能必须获取页面的源代码(可能使用 wget 或链接)并从中提取搜索结果。要仅查找搜索结果并避免打开 gmail 链接,您可能希望过滤掉搜索条件第二次匹配之前的所有内容。
其代码如下:
wget http://google.com/?q=$query -O $query.html
l=grep -n $query | head -c 1
head -cv $l
echo $source | grep '<a href='
for i in $l1 $l2 $l3; do google-chrome-unstable $i ;done
请注意,我的代码可能已损坏,我不知道如何在不使用命令行的情况下运行脚本,但也许您可以使用带有 python system.os 命令的 web2py 服务器来执行此操作。
希望能帮助到你
答案2
我知道这不是您正在寻找的,但是我用这个 JavaScript 代码制作了一个书签,如果您在搜索结果页面上,它会在新标签中打开 Google 搜索结果的前 5 个结果:
javascript: (function (element, url) {
element.src = url;
element.onload = function () {
jQuery.noConflict();
var elements = jQuery("#search .g:nth-child(-n+4)>div>div>a:first-child");
console.log("IN");
jQuery.each(elements, function (key, element) {
win = window.open(element.href, '_blank');
console.log(key);
if (key > 3) {
console.log("IN");
return false;
}
if (win) {
win.focus();
} else {
alert('Please allow popups for this website');
}
})
};
document.head.appendChild(element);
})(document.createElement('script'), '//code.jquery.com/jquery-latest.min.js')
您.g:nth-child(-n+4)
可以在这里设置标签的数量,在本例中为 5。
不幸的是,Google 会不时更改 DOM 结构,因此您需要调整代码。大多数情况下,只是进行微小的更改,只需将一个选择器换成另一个即可。
您可以通过添加新书签并将此代码粘贴为“URL”来创建此类书签。瞧!