2013-05-17 3 views
0

j'ai donc un HTML entourant un champ comme celui-ci:Comment vérifier si un élément parent WatIn 3 niveaux est visible?

<div class="form-row style="display: none; "> 
    <label class="fld-lbl" for="Blah">Blah</label> 
    <div class="fld"> 
     <select id="Make" name="Make"></select> 
    </div> 
</div> 

Je veux choisir le « Make » élément, et le travail si le div parent « forme rangée » est visible ou non. Je suis vraiment aux prises avec WatIn pour comprendre comment cela est possible.

J'essaie quelque chose comme ceci:

_make = _browser.Page.Make; //this is set with some other methods, but it is basically the 'Select' element mentioned above. 

var makeVisible = _browser.Div(div => 
{ 
    var ancestor = _make.BaseElement.Ancestor(Find.ByClass("form-row")); 
    return ancestor != null && string.Equals(ancestor.Style.Display, "none"); 
}); 

Cela ne semble pas fonctionner, mais je peux prendre l'élément de sélection et traverser le DOM en utilisant parent.parent.parent. Mais c'est un peu naff, et ne permet pas le HTML pour changer.

Quelqu'un peut-il aider?

Vive

Répondre

0

Vous pouvez utiliser JavaScript

string displayValue = _browser.Eval("$('#Make').closest('div.form-row').css('display');"); 
Questions connexes