2017-05-02 2 views
0

je peux obtenir avec succès InnerText <td> balises pour les <table class="specs" ng-hide="false"> et <table class="specs ng-hide" ng-hide="true"> avec ceci:Comment distinguer ng cacher vrai ou faux lors de l'analyse url

Set CHRA = aIE.document.getElementsByClassName("specs")(4).getElementsByTagName("td") 

For Each Item In CHRA 
    Debug.Print Item.innertext 
Next 

Ces html vrai et le faux sont de différentes urls, où l'on la table est cachée et l'autre est visible par l'utilisateur. Pour un vrai, les sorties sont CHRA et 779543-0027, pour un faux, les sorties sont CHRA et :

Je ne veux pas obtenir le résultat de la propriété faux. Y a-t-il un moyen de contourner cela?

Voici le reste du code html (true version est exactement la même sauf la première partie est <table class="specs ng-hide" ng-hide="true">:

<table class="specs" ng-hide="false"> 
          <thead> 
           <tr> 
            <th colspan="2">BOM Info</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr> 
            <td>CHRA</td> 
            <td><span class="ng-binding">715214-0011</span>&nbsp;&nbsp;<input type="checkbox" ng-hide="bom.strChra[0]==undefined" id="cpbchra" class="combuy" value="715214-0011" style="display: none;"></td> 
           </tr> 
          </tbody> 
          </table> 

Répondre

0

J'ai trouvé la solution dans le cas où vous êtes intéressé:

Set CHRA1 = aIE.document.getElementsByClassName("specs ng-hide")(0).getElementsByTagName("td") 
Set CHRA2 = aIE.document.getElementsByClassName("specs")(4).getElementsByTagName("td") 

If CHRA1(1).innertext <> CHRA2(1).innertext Then 
    Debug.Print CHRA2(1).innertext 
End If