2014-06-18 4 views
0

J'ai essayé avec ce code ci-dessous pour savoir si la page Web est ouverte ou non, mais ce code ne fonctionne pas pour moi. Le système ne fait que clignoter la première URL de la page Web ouverte.Comment savoir si une page Web est ouverte ou non en utilisant VBScript

surl ="http://www.google.com/" 
set shapp=createobject("shell.application") 
For Each owin In shapp.Windows 
    msgbox owin.document.location.href 
    if Instr(1,owin.document.location.href,surl)>0 then 
    msgbox "Window opened" 
    end if 
Next 
set shapp=Nothing 

Le message d'erreur est:

temps d'exécution de script a été dépassé sur le script "D: \ ie_open.vbs" L'exécution du script a été mis fin à

+0

Le code fonctionne pour moi (affiche les boîtes de message avec les URL de tous les onglets/fenêtres IE et une boîte de message supplémentaire "Fenêtre ouverte" pour chaque URL contenant la valeur de surl). Pouvez-vous expliquer plus en détail ce que vous entendez par "ne clignotant que la première page Web ouverte"? –

+0

@AnsgarWiechers J'ai remplacé la commande owin.document.location.href par oWin.locationURL. Lors de l'exécution de ce script dans l'invite de commande, l'URL de l'onglet premier dans IE est affichée dans la boîte de message et elle disparaît automatiquement. Le système affiche le message ci-dessous dans l'invite de commande: ** Le délai d'exécution du script a été dépassé sur le script "D: \ ie_open.vbs" L'exécution du script a été arrêtée ** – user3751964

Répondre

2

Étant donné le message d'erreur "Le temps d'exécution du script a été dépassé ...", le problème peut être dû à un délai d'attente trop court. Voir here. Utilisez quelque chose comme:

cscript //T:0 "D:\ie_open.vbs" 

pour tester cette hypothèse.

Une valeur de délai par défaut peut être stocké dans le registre ou l'autre des endroits suivants:

  • HKCU\Software\Microsoft\Windows Script Host\Settings (par utilisateur)
  • HKLM\Software\Microsoft\Windows Script Host\Settings (global)

Suppression des Enlève valeur Timeout le délai d'attente prédéfini.

+0

avec cette commande Je suis en mesure d'obtenir toutes les URLs de pages Web ouvertes cscript // T: 0 "D: \ ie_open.vbs" – user3751964

+0

@ user3751964 Dans ce cas, vérifiez la sous-clé 'Software \ Microsoft \ Windows Script Host \ Settings' sous HKCU et HKLM pour une valeur 'Timeout'. –

+0

@Ansgar Wiechers Je pouvais voir la valeur Timeout comme 1 dans HKCU et ne pouvais pas voir l'entrée Timeout dans HKLM – user3751964

0

Au lieu de owin.document.location.href Utilisez oWin.locationURL

+0

N'a pas fait la différence lorsque je l'ai testé. –

Questions connexes