0 votos

¿Existe el mozrepl para Safari?

Buscando una extensión (o plugin) de Safari que actúe como mozrepl Lo que funciona a las mil maravillas. :)

  • ¿Existe tal cosa?

Si no es así, es posible controlar algo fácilmente Safari de scripts (perl, Python, bash)? Con el medio de control:

  • GET urls (significa método http GET) - A través de safari (por ejemplo, el Safari enviará el auth, las cookies de sesión, el referere y demás).
  • obtener la fuente de la página ( después de el Safari hace todas las llamadas ajax y demás)
  • POST a través de Safari (por ejemplo, utilizando AJAX - pero iniciado desde el script externo)
  • etc...
  • en pocas palabras como: "mozrepl" :)

Parece que aquí no hay nada comparable todavía. No he borrado la pregunta, si alguien encontró tal cosa - por favor, añadir una respuesta.

Ps: ya sé, cómo usar <code>curl</code> o herramientas similares, pero esto no ayuda, por ejemplo, a coger el contenido de las páginas, donde Safari gestiona la autenticación de la sesión, las cookies, los referrers, las cadenas de agente de usuario, etc. Todo es rev-ingeniería, pero es mucho más fácil utilizar una herramienta como <code>mozrepl</code> como hacer la rev-ingeniería fullstack para conseguir sesiones web scriptables...)

1voto

fret Puntos 629

Si la idea principal es programar Safari, yo intentaría usar Automator antes de probar AppleScript. Empezaría por darle al botón de grabar y luego:

  • Abrir Safari
  • Navegue a su página web
  • GET guardando la fuente de la página web
  • Permitir que la página haga todas las llamadas AJAX que desee
    • guardar de nuevo la fuente de la página web
  • Rellene un formulario y pulse enviar para obtener su POST
    • guardar la fuente de la página web una vez más

O puedes probar con AppleScript con algo como esto:

tell application "Safari"
    tell window 1
    set current tab to (make new tab with properties {URL:"http://www.example.com"})
    end tell
end tell

Puedes añadir al script rellenos de formularios y botones de envío con javascript:

do JavaScript "document.getElementById('field').value = '" & myvalue & "'"
do JavaScript "document.forms[\"form\"].submit();"

Yo probaría esto dentro de la consola de JavaScript dentro de un navegador web primero para asegurarse de que tiene los nombres de todo lo correcto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X