Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Firefox (протестированный на версиях 2.0.0.14 и 3.0.1):
tell application "Firefox"
set myURL to «class curl» of window 1
return myURL
end tell
В 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
Это - Piero снова назад с новым идентификатором (я потерял свои cookie при попытке повторно установить Firefox!!!).
я просто попробовал Firefox 3.04, который ничто не изменило о поддержке appleScript и надежности. Тем не менее та же ошибка...
Мой тест и поиски по сети, принес мне к заключению, что Вы не можете получить доступ к названию окна и другим свойствам окна, таким как В «класс curlВ», в том же сценарии.
, Если Вы работаете с названием окна, и что, suddently, Вы не можете больше получать доступ к нему (получение случайного двоичного файла как строки), необходимо назвать этот код снова:
tell application "Firefox" to activate
использование любого оператора, который генерирует ошибку в Firefox, будет также работать просто великолепно, для предоставления доступа к имени окна доступным снова, но перезапуск Mac ничего не изменит!
, После того как Вы сделали это, поскольку я упомянул прежде, Вы не можете получить доступ к В «класс curlВ» больше до следующего перезапуска Firefox...
сценарии записи для Firefox на Mac действительно невозможная миссия!
, Если Вы хотели бы, чтобы AppleScript поддерживался на Firefox, говорят это, и голосование за эту ошибку!!!
Camino 1.6 и выше:
tell application "Camino"
return URL of current tab of front browser window as text
end tell
В отличие от предыдущего ответа, он получит адрес целевой вкладки.
OmniWeb (протестированный на версии 5.8):
tell application "OmniWeb"
set myInfo to GetWindowInfo
return item 1 of myInfo
end tell
Камино (протестированный на версии 1.6.4):
tell application "Camino"
set p to properties of front tab of front window
return |currentURI| of p as string
end tell
Opera (протестированный на версиях 9.21 и 9.62):
tell application "Opera"
return URL of front document as string
end tell
Скопление (протестированный на версии 2.0):
tell application "Flock"
set p to properties of front window as list
return item 3 of p
end tell
Это полагается на положение элемента списка, но насколько я могу сказать, это - единственный способ достигнуть это значение. Свойство называют address
, который, хотя в документации Apple не говорится так, кажется, зарезервированное слово в AppleScript.
Активируйте сценарий пользовательского интерфейса и запустите приведенный ниже код. У вас будет URL-адрес в буфере обмена, и вы сможете его вставить.
tell application "Firefox" to activate
tell application "System Events"
keystroke "l" using command down
keystroke "c" using command down
end tell