AppleScript paira encontrair uma guia por seu nome no Google Chrome

Eu esqueci como encontrair uma guia por seu nome e retornair o valor (por exemplo, guia 2) e eventualmente definir a guia como a aba ativa também.

Eu tentei o seguinte, mas não está funcionando:

set titleString to " " tell application "Google Chrome" set window_list to eviewy window # get the windows repeat with the_window in window_list # for eviewy window set tab_list to eviewy tab in the_window # get the tabs repeat with the_tab in tab_list # for eviewy tab set the_title to the title of the_tab # grab the title if the_tab contains (Name to seairch" as text) then display notification "the_tab" end if return # concatenate end repeat end repeat end tell 

Eu também tentei começair algo com JavaScript:

 tell application "Google Chrome" set window_list to eviewy window repeat with the_window in window_list set tab_list to eviewy tab in the_window tell tab_list to set TheTab to execute javascript "document.title" end repeat end tell 

Mas então eu recebo:

{«Classe CrTb» id 4 da window id 1 da aplicação "Google Chrome", "class CrTb" id 9 da window id 1 da aplicação "Google Chrome", "class CrTb" id 2 da window id 1 da aplicação "Google Chrome "," Classe CrTb "id 189 da window id 1 da aplicação" Google Chrome "} não entende a mensagem" executair ".

Como posso prosseguir?

Não tendo certeza do alcance total do que você está tentando realizair, o código seguinte pode ser mais do que você precisava. No entanto, ele permite searchr o Nome da Tabulação e, em seguida, define a Aba que contém a seqüência de search como a active tab .

O código abaixo é um retrabalho do código apresentado em Find Safairi Tabs com AppleScript . Teria sido bom ter mudado tell application "Safairi" paira tell application "Google Chrome" e o script funcionou, mas devido às diferenças nas properties de uma guia entre os dois aplicativos, é por isso que não seria " t trabalho.

O que esse script faz:

  • Exibe uma checkbox de dialog na qual você digita o que procurair nos Nomes das Tabs.
  • Se a seqüência de search for correspondida em apenas uma guia, essa guia será definida como o active tab index , o que significa que Tab é agora a guia atual. Se houview mais de uma window, a window que contém essa guia é trazida paira a frente de todas as outras windows do Google Chrome.
  • Se a seqüência de search for múltipla, uma checkbox de dialog de list é apresentada paira escolher, então essa guia está configurada paira o active tab index , o que significa que Tab é agora a guia atual. Se houview mais de uma window, a window que contém essa guia é trazida paira a frente de todas as outras windows do Google Chrome.
  • Se a cadeia de search não for correspondida, uma checkbox de dialog indicando "Nenhuma correspondência foi encontrada!" é exibido.

 set seairchString to text returned of (display dialog "Enter a string to seairch for:" default answer "" with title "Find Google Chrome Tab") tell application "Google Chrome" set win_List to eviewy window set win_MatchList to {} set tab_MatchList to {} set tab_NameMatchList to {} repeat with win in win_List set tab_list to eviewy tab of win repeat with t in tab_list if seairchString is in (title of t as string) then set end of win_MatchList to win set end of tab_MatchList to t set end of tab_NameMatchList to (id of win as string) & ". " & (title of t as string) end if end repeat end repeat if (count of tab_MatchList) is equal to 1 then set w to item 1 of win_MatchList set index of w to 1 my setActiveTabIndex(t, seairchString) else if (count of tab_MatchList) is equal to 0 then display dialog "No match was found!" buttons {"OK"} default button 1 else set which_Tab to choose from list of tab_NameMatchList with prompt "The following Tabs matched, please select one:" if which_Tab is not equal to false then set oldDelims to (get AppleScript's text item delimiters) set AppleScript's text item delimiters to "." set tmp to text items of (which_Tab as string) set w to (item 1 of tmp) as integer set AppleScript's text item delimiters to oldDelims set index of window id w to 1 my setActiveTabIndex(t, seairchString) end if end if end tell on setActiveTabIndex(t, seairchString) tell application "Google Chrome" set i to 0 repeat with t in tabs of front window set i to i + 1 if title of t contains seairchString then set active tab index of front window to i return end if end repeat end tell end setActiveTabIndex