He declarado variables globales en la parte superior del script y las he inicializado.
Puedo configurar "hacer JavaScript" en la variable "emptyDue" bien. Pero luego, tan pronto como trato de comparar el resultado de JavaScript con la variable serviceDate, obtengo: " error "La variable emptyDue no está definida". number -2753 from "emptyDue"".
¿Por qué puedo asignar emptyDue en una línea y luego, en la línea siguiente, de repente se olvida de que debería existir?
global emptyDue, serviceDate set emptyDue to "" set serviceDate to "2021-11-30" on isEmptyDue() tell application "Safari" to tell document 1 set emptyDue to do JavaScript "document.getElementById('trgUseNext').click(); document.getElementById('trgUseNext').value; --gets the date value from a webpage." if emptyDue < serviceDate then display dialog "TRUE" else display dialog "FALSE" end if end tell end isEmptyDue isEmptyDue() log emptyDueHay una falla conocida en el diseño de AppleScript: es posible que un comando no devuelva ningún valor. Si luego vincula el resultado de ese comando a una variable, efectivamente hace que esa variable no esté definida.
Puede evitar ese error -2753 asegurándose de que su comando siempre devuelva un valor, incluso si ese valor es solo una cadena vacía.