Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

197
Visualizações
AppleScript: dificultad para reemplazar HTML de búsqueda con InnerHTML de búsqueda

Soy nuevo en AppleScript y realmente agradecería si alguien con experiencia pudiera ayudarme a resolver mi problema. A continuación se muestra básicamente lo que quiero que haga el script. Este script que adjunté funciona, sin embargo, no obtengo los resultados de búsqueda del texto que estoy buscando. Leí en alguna parte que necesitaría buscar InnerHTML con javascript agregado que no tengo idea de cómo hacerlo.

Esto es lo que me gustaría que hiciera el script:

Abra páginas web una a la vez desde la lista en el archivo txt

cuando se carga la página web, busque "texto"

si no se encuentra "texto"

después

cerrar pestaña, abrir la siguiente URL en la lista

si se encuentra "texto"

después

copiar URL a un archivo de texto

una vez que la url se copia y se guarda

después

cerrar pestaña, abrir la siguiente URL en la lista

repetir

Si alguien tiene el tiempo para ayudarme con esto o indicarme la dirección correcta, estaría más que agradecido. Muchísimas gracias por su tiempo.

 on run {input, parameters} read (item 1 of input) set ps to paragraphs of the result set tot to count ps tell application "Safari" reopen activate end tell repeat with i from 1 to tot set p to item i of ps if p is not "" then try tell application "Safari" tell front window set r to make new tab with properties {URL:p} set current tab to r delay 1 if i = tot then exit repeat repeat delay 1 tell application "Safari" activate --the source code of current Tab set sourceOfTab to source of front document set urlOfTab to URL of front document if sourceOfTab contains "search term" then --copy of the url in textFile do shell script "echo " & urlOfTab & " >> ~/Desktop/test.txt" else close current tab of front window end if end tell get URL of r end repeat end tell end tell end try end if end repeat

carrera final

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No creo que el problema esté en tu rutina de búsqueda. Si reduzco el script a solo la rutina de búsqueda, parece funcionar:

 tell application "Safari" --the source code of current Tab set sourceOfTab to source of front document set urlOfTab to URL of front document if sourceOfTab contains "search term" then --copy of the url in textFile do shell script "echo " & urlOfTab & " >> ~/Desktop/test.txt" else display dialog "Search term not found" --close current tab of front window end if end tell

Es decir, si tengo esta pregunta abierta, el archivo se crea en el Escritorio, porque el texto "término de búsqueda" aparece en esta página. Si cambio el término de búsqueda a algo que no aparece en esta página, aparece "Término de búsqueda no encontrado".

Para localizar el problema, probablemente querrá dividir el script en pasos y ver qué paso no está haciendo lo que desea. Por ejemplo,

  1. Cree una versión de la secuencia de comandos que simplemente recorra las URL y se las muestre, para que sepa que está utilizando las URL correctas.

  2. Cree una versión de la secuencia de comandos que recorra las URL y las abra en una ventana del navegador, pero no haga nada más, para que sepa que Safari está abriendo las páginas web correctas.

  3. Solo una vez que los primeros dos pasos estén haciendo lo que deberían, agregará la rutina de búsqueda nuevamente.

También puede proporcionar datos de muestra dentro de su secuencia de comandos, para que podamos ejecutar nuestros experimentos con los mismos datos con los que tiene problemas. Actualmente, no estoy seguro de cómo está obteniendo los datos para el controlador de run , por ejemplo.

Aquí hay un ejemplo de hacer esto como una aplicación de arrastrar y soltar, es decir, una aplicación que acepta archivos colocados sobre su icono en el Finder (los archivos deben ser archivos de texto, una URL por línea):

 property searchTerm : "search term" property matchFilePath : (path to desktop folder as text) & "Matching URLs.txt" on open droppedFiles get path to desktop folder as text set matchFile to open for access file matchFilePath with write permission repeat with droppedFile in droppedFiles read droppedFile repeat with webURL in paragraphs of the result --ignore empty lines, which contain one character (the return) if the (count of webURL) is greater than 1 then tell application "Safari" open location webURL delay 1 set theRealURL to the URL of the front document if the source of the front document contains searchTerm then write theRealURL & return to matchFile starting at eof end if close current tab of front window end tell end if end repeat end repeat close access matchFile end open

Para probar su secuencia de comandos y brindarle consejos, necesitaremos saber cómo llegan las URL a su controlador de run y qué formato toman esas URL. Además, si bien creo que tenemos una idea bastante buena de cómo espera que sea una ejecución exitosa, es posible que también desee describir más claramente los resultados que está viendo y que no quiere ver.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda