Я очень рад узнать, что Chrome теперь поддерживает AppleScript.К сожалению, пока он минимален, но я уверен (надеюсь!), Что станет лучше.Поскольку нет никакого способа получить источник напрямую, я бы выбрал следующий хакерский маршрут:
tell application "Google Chrome"
view source of active tab of window 1 -- Or whichever tab you want
delay 3
repeat while loading of active tab of window 1
delay 3
end repeat
select all of active tab of window 1 -- Must *always* be the active tab
copy selection of active tab of window 1
delete tab (active tab index of window 1) of window 1
end tell
delay 1
return the clipboard
Да, это хакерский, но это неизбежно, учитывая текущее состояние словаря сценариев.Сценарий должен быть простым: откройте вкладку источника, дождитесь ее загрузки, выберите содержимое, скопируйте его и закройте вкладку.Вы можете поиграть с delay 3
s, чтобы увидеть, что работает лучше всего.Обратите внимание, что first active tab of window 1
является произвольным, остальные явно ссылаются на вкладку источника. Кроме того, очевидно, что нет способа закрыть вкладку из скриптового словаря Chrome (oy vey), поэтому мне пришлось использовать вместо этого JavaScript. Кроме того, последний delay 1
не должен было бы необходимо, но если бы этого не было, мои тесты иногда возвращали неправильные данные, даже если содержимое буфера обмена было правильным, когда я их вставлял. Я думаю, это потому, что было достаточно текста, что потребовалось заметное количество времени дляобновить буфер обмена.
Редактировать 1: Я заменил execute the active tab of window 1 javascript "window.close()"
на строку delete tab
, как мне было предложено.К сожалению, delete tab active tab of window 1
не работает, поэтому вам нужна эта немного более запутанная конструкция.