Recherche texte page web Applescript

titigrou

Membre expert
Club iGen
23 Décembre 2004
1 109
26
41
Lille
Hello,

Je me demandais si il était possible, quand je suis sur une page web donnée, de rechercher si la page contient une certaine chaine de caractère.
Je pensais faire un truc dans le genre
Bloc de code:
tell application "Safari"
    set URL of document 1 of window 1 to "http://www.google.fr"
    delay 5
    -- delay to let page load.
    if source of document 1 of window 1 contains "blablablabla" then
        --my sendAMail()
        display dialog "OK"
    else
        display dialog "KO"
    end if
   end tell
Mais ça impose de réouvrir la page, alors que la page est déjà censée être ouverte.
Quelqu'un aurait une idée?

Merci d'avance pour votre aide!

Antoine
 
En fait je voudrai le faire mais sous Chrome....

Je crois que ce n’est pas possible en AppleScript pur.

Deux solutions : soit passer par cette astuce avec du JavaScript ; soit ce que je fais moi, passer par la commande curl :

Bloc de code:
set sourceCode to do shell script "curl -L " & quoted form of theURL
 
En utilisant
Bloc de code:
set sourceCode to do shell script "curl -L " & quoted form of theURL
ça récupère le code source c'est ça?
Ca le stocke dans une variable ensuite?
 
Bonjour,


Pour Chrome, vous pouvez utiliser ce script :

Bloc de code:
tell application "Google Chrome"
    set currentTab to active tab of the front window -- l'onglet que vous regardez
    set theResult to execute currentTab javascript "document.documentElement.innerHTML" -- récupère la source de la page
    -- set theResult to execute currentTab javascript "document.body.innerText" -- récupère le texte de la page
    if theResult contains "blablablabla" then
        display dialog "OK"
    else
        display dialog "KO"
    end if
end tell
 
En utilisant
Bloc de code:
set sourceCode to do shell script "curl -L " & quoted form of theURL
ça récupère le code source c'est ça?
Ca le stocke dans une variable ensuite?

Exactement, ici dans la variable sourceCode. C’est universel au moins, ça ne dépend d’aucun navigateur.