2017-01-23 1 views
2

In einer Tabelle gibt es mehrere Elemente wie folgt: <span class="currency"> 0</span>. Der Wert> 0 < ist ein Formelwert, der sich jedes Mal ändert. Was wäre der beste Weg, das folgende Element aus dem HTML suchen:Wie finde ich ein Element mit derselben Spannungsklasse?

<td class="alignLeft label">Initial</td> 
<td class="alignRight readOnly"> 
<span class="currency"> 0</span> 
</td> 
<td></td> 

Ein weiteres Element in diesem Teil von HTML befindet:

<td class="alignLeft label">Initial</td> 
<td class="alignRight readOnly"> 
<span class="currency"> 0</span> 
</td> 
<td></td> 
<td class="alignRight readOnly"> 
<span class="currency"> 0</span> 
</td> 
<td></td> 

Ein anderes hier:

<td class="alignLeft label">Initial</td> 
<td class="alignRight readOnly"> 
<span class="currency"> 0</span> 
</td> 
<td></td> 
<td class="alignRight readOnly"> 
<span class="currency"> 0</span> 
</td> 
<td></td> 
<td class="alignRight readOnly"> 
<span class="currency"> 0</span> 
</td> 

Vielen Dank.

+0

Haben Sie bereits einen Code ausprobiert? –

+1

willst du sie alle oder nur die erste oder was genau? – mosaad

+0

Gibt es mehrere Spannen wie diese? Kannst du IDs auf sie setzen? – Gilles

Antwort

0

Sie brauchen so etwas wie dies zu tun:

// this will return a list containing all elements with the currency class 
var currencyElements = driver.FindElements(By.ClassName("currency")); 

foreach (var element in currencyElements) 
{ 
    // access each individual element one by one 
    if (element.Text == "0") 
     // do something 
} 

Dadurch werden alle Elemente mit der Währungsklasse zurück. Wenn Sie spezifischer sein wollen, das heißt: Sie können nur Elemente spannen wollen mit der Währungsklasse, müssen Sie das OpenQA.Selenium.Support Paket verwenden und machen einen ByAll:

var byAll = new OpenQA.Selenium.Support.PageObjects.ByAll(new By[] 
      { 
       By.ClassName("currency"), 
       By.TagName("span") 
      }); 

Oder statt nur element.TagName im ersten Beispiel überprüfen.

+0

Danke @Gilles, das ist eine ausgezeichnete Lösung. –

Verwandte Themen