Есть ли способ отключить вкладку в Google Chrome с помощью AppleScript?

avatar
gurkensaas
1 июля 2021 в 19:53
265
2
0

Поэтому я хотел сделать небольшой скрипт, который, например. отключает звук всех вкладок, URL-адрес которых содержит google.com. Я хотел сделать что-то вроде этого:

tell application "Google Chrome"
    set theWindows to windows of application "Google Chrome"
    repeat with theWindow in theWindows
        set theTabs to (tabs of theWindow whose URL contains "google.com")
        repeat with theTab in theTabs
            tell theTab
                mute
            end tell
        end repeat
    end repeat
end tell

Но если вы попытаетесь запустить это, то вскоре заметите, что Applescript считает mute переменной. Я также пробовал mute tab, но это тоже не работает.

Источник
Mockman
2 июля 2021 в 19:35
0

Я сомневаюсь, что вы можете сделать это небрежно, но (при условии, что chrome работает аналогично Vivaldi), вы, вероятно, могли бы использовать сценарии пользовательского интерфейса, чтобы щелкнуть правой кнопкой мыши вкладку и отключить ее. С помощью более стандартных средств вы, вероятно, могли бы использовать applescript, чтобы определить, какие вкладки следует передать этой процедуре.

gurkensaas
2 июля 2021 в 20:55
0

@Mockman Я хочу уйти от сценариев пользовательского интерфейса, так как это грубая сила, и получить правую вкладку, чтобы щелкнуть правой кнопкой мыши, вероятно, сложно, а затем щелкнуть по ней с помощью сторонних утилит оболочки еще сложнее. Я просто хотел спросить, есть ли лучший способ сделать это.

Mockman
2 июля 2021 в 23:44
0

Точно так же я отношусь к сценариям пользовательского интерфейса. Я нахожу его утомительным для работы. Но если Chrome не предлагает управление воспроизведением мультимедиа с помощью сценариев на своих вкладках, в чем я сомневаюсь, у вас не так много вариантов. В Vivaldi можно отключить звук всех фоновых вкладок или установить приоритет для активной вкладки. Если в Chrome есть похожие настройки, это, вероятно, максимально близко.

gurkensaas
3 июля 2021 в 22:02
0

@Mockman Я нашел решение: в Chrome есть элемент строки меню с именем Tab, в котором есть элемент с именем Mute site. Я знаю, что есть способ выбрать параметры из строки меню, но код, который я написал (tell application "Google Chrome" to tell active tab of front window to select (first item of menu "Tab" whose title is equal to "Mute site"), не работает, поскольку, по-видимому, элементы меню не понимают выбор. Если вы знаете, как это сделать, не стесняйтесь опубликовать это как ответ.

Mockman
4 июля 2021 в 02:43
0

Внутри блока сообщений системных событий: tell process "Google Chrome" to menu item "Mute site" of menu "Tab" of menu bar 1. На этой странице есть подробная информация о получении пунктов меню и т. д. developer.apple.com/library/archive/documentation/…

gurkensaas
4 июля 2021 в 15:22
0

@Mockman Вы хотите опубликовать это как ответ, чтобы я мог его принять?

Ответы (2)

avatar
Mockman
4 июля 2021 в 21:23
1

Это должно разрешить приглушение вкладок:

tell application "Google Chrome" to activate
tell application "System Events" to ¬
    click ¬
        menu item "Mute Site" of ¬
        menu 1 of ¬
        menu bar item "Tab" of ¬
        menu bar 1 of ¬
        application process "Chrome"
avatar
wch1zpink
9 июля 2021 в 20:38
0

Нет сочетания клавиш по умолчанию, назначенного для элемента меню вкладок «Отключить звук сайта» в Google Chrome. Однако вы можете назначить ему собственное сочетание клавиш и использовать его вручную или в AppleScript с командой keystroke или key code.

На следующем изображении показано, как я назначил это пользовательское сочетание клавиш.

enter image description here

После того, как ваше пользовательское сочетание клавиш правильно настроено, следующий код AppleScript является примером того, как я лично настроил свой.

tell application "Google Chrome" to activate

delay 0.1

tell application "System Events"
    key code 49 using {shift down, command down}
end tell
user3439894
9 июля 2021 в 20:57
0

Что с Tab-> как Отключить сайт — это все, что должно быть необходимо.

wch1zpink
9 июля 2021 в 21:17
0

«В поле «Название меню» введите команду меню, для которой вы хотите создать ярлык, точно так же, как команда отображается в приложении, включая символ > (введите ->), многоточие (введите три точки без пробелов или нажмите Option- ; (точка с запятой)) или другой знак препинания. Например, чтобы установить ярлык для команды лигатуры по умолчанию в TextEdit (Формат > Шрифт > Лигатуры > Использовать по умолчанию), введите Формат->Шрифт->Лигатуры->Использовать по умолчанию в поле Заголовок меню. Чтобы установить ярлык для команды «Экспортировать как PDF» («Файл» > «Экспортировать как PDF…»), введите в поле «Файл->Экспортировать как PDF…».

user3439894
9 июля 2021 в 21:20
0

Отключить сайт сам по себе у меня отлично работает!

gurkensaas
10 июля 2021 в 20:21
0

Я по-прежнему думаю, что решение Mockman немного лучше, поскольку в нем нет сценариев пользовательского интерфейса, и оно работает для всех, если английский язык является языком их системы, и им не нужно назначать какие-либо пользовательские сочетания клавиш.