Используя AppleScript для захвата URL из frontmost окна в веб-браузерах: категорический список

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

15
задан Joshua Goldberg 30 June 2015 в 19:57
поделиться

9 ответов

Firefox (протестированный на версиях 2.0.0.14 и 3.0.1):

tell application "Firefox"
    set myURL to «class curl» of window 1
    return myURL
end tell
2
ответ дан 1 December 2019 в 04:35
поделиться

В Firefox 3.03 в настоящее время существует ошибка, который скроет от AppleScript все свойства окна включая В «класс curlВ», если Вы использовали оператор как следующее прежде:

tell application "Firefox" to activate

или

tell application "Firefox"
 if (front window) exists then do_something()
end tell

работа вокруг должна использовать следующий код вместо этого:

tell application "System Events"
 tell process "Firefox"
  set frontmost to true
  set xsist to (front window) exists
  (* keep xsist value to test later on *)
 end tell
end tell

Примечание: свойства окна останутся недоступными до следующего перезапуска Firefox

2
ответ дан 1 December 2019 в 04:35
поделиться

Это - Piero снова назад с новым идентификатором (я потерял свои cookie при попытке повторно установить Firefox!!!).

я просто попробовал Firefox 3.04, который ничто не изменило о поддержке appleScript и надежности. Тем не менее та же ошибка...

Мой тест и поиски по сети, принес мне к заключению, что Вы не можете получить доступ к названию окна и другим свойствам окна, таким как В «класс curlВ», в том же сценарии.

, Если Вы работаете с названием окна, и что, suddently, Вы не можете больше получать доступ к нему (получение случайного двоичного файла как строки), необходимо назвать этот код снова:

tell application "Firefox" to activate

использование любого оператора, который генерирует ошибку в Firefox, будет также работать просто великолепно, для предоставления доступа к имени окна доступным снова, но перезапуск Mac ничего не изменит!

, После того как Вы сделали это, поскольку я упомянул прежде, Вы не можете получить доступ к В «класс curlВ» больше до следующего перезапуска Firefox...

сценарии записи для Firefox на Mac действительно невозможная миссия!

, Если Вы хотели бы, чтобы AppleScript поддерживался на Firefox, говорят это, и голосование за эту ошибку!!!

https://bugzilla.mozilla.org/show_bug.cgi? id=464701

2
ответ дан 1 December 2019 в 04:35
поделиться

Camino 1.6 и выше:

tell application "Camino"
    return URL of current tab of front browser window as text
end tell

В отличие от предыдущего ответа, он получит адрес целевой вкладки.

1
ответ дан 1 December 2019 в 04:35
поделиться

OmniWeb (протестированный на версии 5.8):

tell application "OmniWeb"
    set myInfo to GetWindowInfo
    return item 1 of myInfo
end tell
0
ответ дан 1 December 2019 в 04:35
поделиться

Камино (протестированный на версии 1.6.4):

tell application "Camino"
    set p to properties of front tab of front window
    return |currentURI| of p as string
end tell
0
ответ дан 1 December 2019 в 04:35
поделиться

Opera (протестированный на версиях 9.21 и 9.62):

tell application "Opera"
    return URL of front document as string
end tell
0
ответ дан 1 December 2019 в 04:35
поделиться

Скопление (протестированный на версии 2.0):

tell application "Flock"
    set p to properties of front window as list
    return item 3 of p
end tell

Это полагается на положение элемента списка, но насколько я могу сказать, это - единственный способ достигнуть это значение. Свойство называют address, который, хотя в документации Apple не говорится так, кажется, зарезервированное слово в AppleScript.

0
ответ дан 1 December 2019 в 04:35
поделиться

Активируйте сценарий пользовательского интерфейса и запустите приведенный ниже код. У вас будет URL-адрес в буфере обмена, и вы сможете его вставить.

tell application "Firefox" to activate
tell application "System Events"
    keystroke "l" using command down
    keystroke "c" using command down
end tell
3
ответ дан 1 December 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: