2017-01-23 10 views
2

테이블에는 다음과 같은 여러 요소가 있습니다. <span class="currency"> 0</span>. > 0 < 값은 매번 변경되는 수식 값입니다. 무엇은 HTML에서 다음과 같은 요소를 찾을 수있는 가장 좋은 방법이 될 것입니다 :동일한 스팬 클래스의 요소를 찾는 방법은 무엇입니까?

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

또 다른 요소가 HTML의이 부분에 있습니다

<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="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> 

감사.

+0

이미 일부 코드를 사용해 보셨습니까? –

+1

당신은 그들 모두를 얻고 싶습니까? 단지 첫번째 것 또는 정확히 무엇을 얻고 싶습니까? – mosaad

+0

이와 같은 스팬이 여러 개 있습니까? ID를 붙이시겠습니까? – Gilles

답변

0

당신은 같은 것을 할 필요가 :

// 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 
} 

이것은 통화 클래스와 모든 요소를 ​​반환합니다. 당신은 즉, 더 구체적으로 할 경우 바로 첫 번째 예에서 element.TagName을 확인하는 대신

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

또는 : 당신은 단지 통화 클래스와 요소에 걸쳐 원하는, 당신은 OpenQA.Selenium.Support 패키지를 사용해야하고 ByAll 할 것입니다.

+0

감사합니다 @ 질,이 훌륭한 솔루션입니다. –