2012-04-10 10 views
0

Selenium Webドライバを使用して、以下のシナリオのラベルテキストを見つけるのに苦労していました。selenium webdriverを使用してラベルテキストを検索

<tr id="row"> 
<td width="148" height="22" align="left"> 
<b> Label Text</b> 
</td> </tr> 

webdriverを使用してラベルテキストを取得するにはどうすればよいですか?

ありがとうございます。


返信いただきありがとうございます。私はもっ​​と具体的にすべきだったと思う。 trタグの中にtdタグのリストがあります。例えばのために :。

<tr id="row"> 
<td width="148" height="22" align="left"> 
<b> Label Text 1</b> 
<td width="148" height="22" align="left"> 
<b> Label Text 2</b> 

<td width="148" height="22" align="left"> 
<b> Label Text 3</b> 
</td> </tr> 

driver.findElement(By.id( "行"))のgetText()は、これらのラベル値のすべてを、私を取得します。ページの場所に基づいてラベルの値を取得できますか?ありがとう。あなたのようなものを使用することができ、その場所を経由して値を取得するために

+0

あなたはすでにここであなたの質問をしています。http://stackoverflow.com/questions/10095195/finding-label-text-when-id-does-not-exist?rq=1 –

答えて

1
driver.findElement(By.id("row")).getText(); 
0

:また、FindElementは最初の要素だけが返されます

ReadOnlyCollection<IWebElement> cells = driver.findElements(By.XPath("//tr[@id='row']//td")); 
    foreach(IWebElement cell in cells) 
    { 
     if (cell.Location.X == targetX && cell.Location.Y == targetY) 
     { 
      cell.Text; 
     } 
    } 

は、それが基準に一致見つけ、FindElementsはすべての一致を格納するために使用されなければなりません。

1

することはでき、必要なすべてのラベル次のコードを使用して、一つ一つをループ -

List<WebElement> list = driver.findElements(By.xpath("//*[@id='row']/td/b")); 

for(int i=0;i<list.size;i++){ 

    list.get(i).getText(); 

    } 

私はこれがあなたの問題に答えることを願っています。

関連する問題