2017-08-09 2 views
1

Je souhaite supprimer un site Web. Il a des menus déroulants. Lorsque rien n'est sélectionné dans les menus déroulants, le bouton de recherche est grisé/non-cliquable. Le code source du bouton est comme ceci:Comment détecter si le bouton est désactivé dans la source

<br> 
<span class="search search-disabled" id="by_item">Search</span> 
<span class="reset search-disabled" id="reset_item">Reset</span> 
<div class="clear"> 
::before 
::after 
</div> 
<br> 

Lorsque les menus déroulants sont renseignés, le bouton est activé et que le code source est comme ceci:

<br> 
<span class="search" id="by_item">Search</span> 
<span class="reset" id="reset_item">Reset</span> 
<div class="clear"> 
::before 
::after 
</div> 
<br> 

Par exemple, pour le bouton de recherche : Je voudrais vérifier si le bouton est désactivé ou activé, afin que je puisse passer à mon code. J'ai besoin de le trouver par nom de classe, id ne fonctionne pas pour mon code. Mais quand j'essaie de trouver "search search-disabled", parfois je reçois une erreur.

Comment puis-je vérifier si le bouton est activé ou désactivé?

+0

Est-ce par objet IE? – Tehscript

Répondre

0

Le premier mot avant l'espace est le nom de la classe que vous devriez choisir (search et reset). Vous pouvez extraire le nom de classe actuel par la propriété `className et vérifier s'il contient le mot-clé que vous recherchez. Supposons que vous utilisez l'objet IE et qu'il soit le premier élément dans le code source, un exemple de code doit ressembler à ceci:

Set btn = ie.document.getElementsByClassName("search")(0) 
If InStr(1, btn.className, "search-disabled", vbTextCompare) Then 
    'your code when button is disabled 
Else 
    'your code when button is enabled 
End If 
+0

Merci, je vais essayer ça. – Den

+0

@Tehscript, juste pour clarifier pour les lecteurs, les _search_ et _search-disabled_ sont les deux noms de classe, et chacun pourrait être trouvé par la méthode 'getElementsByClassName'. l'extrait de code cherche le nom de la classe qui est toujours là (_search_) et vérifie si le nom de la seconde classe est assigné au noeud qui est trouvé – jsotola

+0

@jsotola en effet, merci pour la clarification. Je ne suis pas doué pour expliquer techniquement les choses. – Tehscript