¿Cómo extraigo el contenido de un campo de text específico dentro de una página web usando applescript?

¿Cómo puedo utilizar Applescript y Safari para extraer la respuesta de este sitio: http://www.wolftwiglpha.com/input/?i=whats+the+meaning+to+life%3F

Estoy intentando extraer la respuesta en text plano copyble. Es decir, formatting .txt .

  • Obtener la session iTerm por tty name
  • Un Applescript que copy por lotes la label de canción a la label de movimiento
  • AppleScript para leer todas las notifications en el Centro de notifications OSX 10.10 Yosemite
  • Necesita ayuda para crear el Servicio Automator para realizar tareas similares a una desinstallation residual
  • Applescript vs. Spaces in Lion (10.7)
  • ¿Cómo puedo reiniciar una aplicación actualmente en ejecución con AppleScript?
  • Me sale este error:

     "Can't make text items 2 thru -1 of "missing value" into type text. 

    Al implementar el siguiente script:

     to getInputByClass(theClass, num) tell application "Safari" set input to do JavaScript " document.getElementsByClassName('" & theClass & "')[" & num & "].innerHTML;" in document 1 end tell return input end getInputByClass to extractText(searchText, startText2, endText) set tid to AppleScript's text item delimiters set startText1 to "x" set searchText to ("x" & searchText) set AppleScript's text item delimiters to startText1 set endItems to text item -1 of searchText set AppleScript's text item delimiters to endText set beginningToEnd to text item 1 of endItems set AppleScript's text item delimiters to startText2 set finalText to (text items 2 thru -1 of beginningToEnd) as text set AppleScript's text item delimiters to tid return finalText end extractText getInputByClass("popup ui-draggable", 0) set theText to getInputByClass("r", 0) set theResult to extractText(theText, "<pre>", "</pre>") 

  • ¿Cómo ordero Automator convertir las imágenes múltiples de PNG a ICNS una vez? (Resuelto)
  • ¿Cómo puedo automatizar el pegado de la contraseña en SecurityAgent?
  • ¿Cómo se muestra la superposition de control de volumen con Applescript?
  • Problema al ver contenido html en Apple Mail
  • ¿Puedo escribir un script Automator / AppleScript para download todas las actualizaciones de la aplicación iTunes?
  • ¿Cómo habilito "Anunciar la hora" programáticamente?
  • One Solution collect form web for “¿Cómo extraigo el contenido de un campo de text específico dentro de una página web usando applescript?”

    Aunque la página que proporcionó está devolviendo una image de las respuestas, lo que significa que no puede devolver el text.

    La fuente de la página contiene la respuesta en forma de text en una function de JavaScript.

    Este AppleScript está utilizando uno de mis methods anteriores para get el text entre patterns.

    Probablemente ahora haría esto usando ApplescriptOBJC pero pensé que sería mejor mantenerlo en Applescript con una pizca de shell. Como puede ser más comprensible.

     tell application "Safari" to set theString to (source of document 1) (* Strip the text and only return the last line*) set input to do shell script "echo " & (quoted form of theString) & "|sed -n \"/stringified/,/mInput/p\" | sed '$!N;$!D'" global answer set offSet1 to "\"stringified\": \"" set offSet2 to "\",\"mInput\"" my strip(offSet1, offSet2, input) return answer on strip(offSet1, offSet2, thedata) (* Use the offsets of the pattens to match the text # thru # *) set textNumber1 to (offset of offSet1 in thedata) set theData1 to text -1 thru (textNumber1 + (count of offSet1)) of thedata set textNumber2 to (offset of offSet2 in theData1) set textString2 to text from word 1 to (textNumber2 - 1) of theData1 set thedata to theData1 set answer to textString2 end strip 

    Actualizar.

    El OP ha señalado que hay una opción para que una window emergente muestre la respuesta en text sin formatting.

    Esto no es obvio para cualquiera que no esté familiarizado con el sitio. La window emergente no existe en el origen de la página hasta que click esta opción, que es la razón por la que no pude encontrar las classs a las que se refería el OP en el origen de la página.

    enter image description here

    El primer script anterior no necesita que click ninguna opción u obtenga la window emergente.

    Pero si por alguna razón lo haces, entonces puedes utilizar este script que te pedirá que primero muestres el menu emergente:

     tell application "Safari" set input to do JavaScript "theclass = document.getElementsByClassName('popup ui-draggable')[0]; theclass.getElementsByTagName('PRE')[0].innerHTML;" in document 1 end tell 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).