Autohotkey를 사용하여 검색어의 첫 번째 Google 결과로 빠르게 이동하는 스크립트를 만들고 있습니다. 내 문제는 URL이 약간 일치하지 않지만이 작업을 위해 찾은 유일한 방법입니다.
http://www.google.com/search?q=searchterm&btnI=745
이것은 첫 번째 적중이 매우 좋은 것으로 간주 될 때만 작동합니다. 그렇지 않으면 Google은 정상적인 10 개의 결과를 보여줍니다. 그러나 첫 페이지에 나오는 실제 “I ‘m Feeling Lucky”버튼은 항상 첫 번째 결과를 보여줍니다.
다음 링크를 시도하십시오.
http://www.google.com/search?q=new%20york&btnI=745 <- works
http://www.google.com/search?q=new%20york%20dijon&btnI=745 <- doesn't work
첫 페이지에 “New York York Dijon”을 입력 한 다음 “I ‘m Feeling Lucky”를 누르십시오.
URL 형식으로 일관되게 작동하도록하려면 어떻게해야합니까?
편집 : 좋아, 이것이 단일 URL에서 가능하지 않은 것 같습니다. 게시 된 경우 그리스 몽키 스크립트 해결 방법을 올바른 것으로 표시합니다.
답변
해결 방법 Greasemonkey 스크립트를 작성했습니다.
// ==UserScript==
// @name Google IFL
// @match https://*.google.com/*?lucky=*
// @match http://*.google.com/*?lucky=*
// ==/UserScript==
document.getElementById("gsr").style.display = 'none'; // optional. shows blank screen before forwarding. just looks better imo.
document.getElementById("gbqfq").focus();
var pathname = document.URL;
var start = pathname.indexOf("?lucky=");
var searchterm = pathname.substring(start+7);
document.getElementById("gbqfq").value = decodeURI(searchterm);
var btnLucky = document.getElementsByName('btnI')[0];
btnLucky.click();
이 스크립트는 (으)로 이동 한 경우 항상 Google의 “I Feel Lucky”선택 항목으로 안내합니다 www.google.com/?lucky=searchterm_goes_here
.
FireFox에서로 이동하는 북마크의 키워드를 사용하여 사용하고 www.google.com/?lucky=%s
있습니다.
답변
자바 스크립트를 사용 중지하면 Google에서 쿠키와 HTTP Referrer
헤더를 모두 사용 https://www.google.com
하여 Google 홈페이지에서 실제로 왔고 “I ‘m Feeling Lucky”버튼을 클릭했는지 추적 하도록 설정되어 있는 것 같습니다 . URL을 사용하여 Google에게 행운의 결과를 전하도록 설득 할 수는 없다고 생각합니다.
답변
내가 찾은 가장 좋은 솔루션은 Chrome> 환경 설정> 검색 엔진 관리 … 추가 :
- 검색 엔진 : 운이 좋은 느낌입니다
- 키워드 : \ (원하는 단축키로 교체)
- URL : {google : baseURL} search? q = % s & btnI
그런 다음 이 스레드 에 따라 다음 Greasemonkey / Tampermonkey 스크립트를 추가하여 Google을 참조 자로하여 페이지를 다시로드하십시오.
// ==UserScript==
// @name I'm feeling lucky fix
// @version 0.0
// @description Makes Google I'm feeling lucky work reliably from the address bar
// @author Will Rice
// @match http://*.google.co.uk/search?q=*&btnI
// @match https://*.google.co.uk/search?q=*&btnI
// @match http://*.google.com/search?q=*&btnI
// @match https://*.google.com/search?q=*&btnI
// ==/UserScript==
document.getElementsByTagName("body")[0].style.display = "none";
window.location.href = location;
스크립트를 “실제로 실행”으로 설정하고 적절하다고 판단되는대로 추가 Google TLD를 추가합니다 (Tampermonkey에서 정규식을 사용할 수 없음).
답변
이 페이지의 다른 우아한 솔루션이 더 이상 작동하지 않으므로 여기에 솔루션을 추가하고 있습니다.이 솔루션은 2018 년 12 월의 tampermonkey chrome에서 작동합니다.
@match와 @include는 tampermonkey (@match는 검색어를 포함 할 수 없음)로 변경되어 Google이 URL을 변경하는 경우 약간의 디버깅 좌절을 일으켰습니다.
// ==UserScript==
// @name I'm feeling lucky fix
// @version 0.1
// @description Makes Google I'm feeling lucky work reliably from the address bar
// @author Kevin Watt
// @include https://www.google.*/*btnI*
// ==/UserScript==
// // @match https://*/*
if (location.href.indexOf('btnI')) document.querySelector('#search a').click()