1

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

<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("row")).getText() は、これらのラベル値をすべて取得します。ページ内の位置に基づいてラベルの値を取得できますか? ありがとう。

4

3 に答える 3

2
driver.findElement(By.id("row")).getText();
于 2012-04-10T00:29:17.187 に答える
1

次のコードを使用して、必要なすべてのラベルを 1 つずつループできます。

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

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

   list.get(i).getText();

  }

これで問題が解決することを願っています。

于 2012-04-20T06:38:37.560 に答える
0

その場所を介して値を取得するには、次のようなものを使用できます。

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

また、FindElement は、条件に一致する最初に見つかった要素のみを返します。すべての一致を保存するには、FindElements を使用する必要があります。

于 2012-04-11T07:05:50.333 に答える