Получите первый URL-адрес в поиске Google для выделенного текста в любом приложении

Получите первый URL-адрес в поиске Google для выделенного текста в любом приложении

Есть ли способ получить первый URL для выделенного текста из Google? Это как будто у нас есть встроенный поиск с клавиатурой на мобильных устройствах, но не на настольных компьютерах.

Это особенно полезно, когда я хочу дать ссылку на тему в Википедии или сайт программного обеспечения на StackOverflow и т. д.

решение1

Я просто создал простой способ сделать это. Он не лучший, но сейчас он работает достаточно хорошо для меня. Я не настраивал его в соответствии с форматированием stackoverflow, так как мне хотелось, чтобы он был гибким на данный момент. Позже выложу его на github. Возможно, его нужно улучшить, чтобы он действительно работал.

Сохраните следующее как Googlesearch.ahk и запустите его с помощьюавтохоткей

; Search google for the highlighted word
; then get the first link address and put it on the Clipboard

^!r:: Reload

#+g::
    bak = %clipboard%
    Send, ^c
    ;clipboard = %bak%`r`n%clipboard%
    Query = %clipboard%
    wb := ComObjCreate("InternetExplorer.Application")
    ;wb := IEGet()
    wb.Visible := false
    wb.Navigate("www.google.com/search?q=" Query)
    While wb.readyState != 4 || wb.document.readyState != "complete" || wb.busy ; wait for the page to load
      sleep 100
    ; loop % (Nodes := wb.document.getElementById("rso").childNodes).length
    ;     Links_urls .= (A_index = 1) ? Nodes[A_index-1].getElementsByTagName("a")[0].href : "`n" . Nodes[A_index-1].getElementsByTagName("a")[0].href
    ; Msgbox %Links_urls%

    Nodes := wb.document.getElementById("rso").childNodes
    First_link := Nodes[0].getElementsByTagName("a")[0].href
    Clipboard = %First_link%
    TrayTip, First Link on Google Search, %First_link% `r`n Ctrl+V to paste the link
return

Связанный контент