10

コード例は次のとおりです。

<div id="productOrderContainer">
  <table class="table gradient myPage">

したがって、productOrderContainerにあるこのテーブルにはいくつかの列があり、いくつかに応じていくつかの行があり、すべてにいくつかの列があります。例は次のとおりです。

私がやりたいのは、たとえば、このテーブルの最初の行を取得することです。(行には次のようなIDがあり<td rowspan="1">ます:)そして、たとえばこの行スパンで、特定の特定の値を探します<div>

したがって、疑似コードで私が言いたいのは次のとおりです。

テーブルを取得し、n番目の行を取得し、値を取得します<div id='something'>

4

6 に答える 6

39

あなたはフォローしてみることができます

int index = 0;
WebElement baseTable = driver.findElement(By.className("table gradient myPage"));
List<WebElement> tableRows = baseTable.findElements(By.tagName("tr"));
tableRows.get(index).getText();

テーブル行を反復処理して、必要な機能を実行することもできます。

于 2013-01-07T08:27:57.853 に答える
5

あなたが欲しい:

int rowNumber=...;
string value = driver.findElement(By.xpath("//div[@id='productOrderContainer']/table/tbody/tr[" + rowNumber +"]/div[id='something']")).getText();

つまり、IDが「productOrderContainer」の中に含まれているものの中に含まれているID「something」で検索し、その<DIV>テキスト値を取得します(これは、「get me thevaluein」の意味であると私は信じています。rowNumber<TR><TABLE><DIV><div id='something'>

于 2013-01-07T12:05:40.483 に答える
2

かなり前に、私はあなたが中に見つけることができるアプローチを使用しましたWebElement

WebElement baseTable = driver.findElement(By.tagName("table"));
WebElement tableRow = baseTable.findElement(By.xpath("//tr[2]")); //should be the third row
webElement cellIneed = tableRow.findElement(By.xpath("//td[2]"));
String valueIneed = cellIneed.getText();

WebElement見つかったインスタンスの中にあることに注意してください。

上記は、driver変数が正常なインスタンスであると仮定した場合のJavaコードです。WebDriver

于 2013-01-07T08:34:34.653 に答える
2

テーブルセルにアクセスする場合

WebElement thirdCell = driver.findElement(By.Xpath("//table/tbody/tr[2]/td[1]")); 

ネストされたテーブルセルにアクセスする場合-

WebElement thirdCell = driver.findElement(By.Xpath("//table/tbody/tr[2]/td[2]"+//table/tbody/tr[1]/td[2]));

詳細については、このチュートリアルをご覧ください

于 2016-10-25T13:24:13.040 に答える
0
(.//*[table-locator])[n]

ここでn、は特定の行を表します。

于 2015-06-08T19:01:59.350 に答える
0

次のコードを使用すると、行/列番号を指定して、結果のセル値を取得できます。

WebDriver driver = new ChromeDriver();
WebElement base = driver.findElement(By.className("Table"));
tableRows = base.findElements(By.tagName("tr"));
List<WebElement> tableCols = tableRows.get([ROW_NUM]).findElements(By.tagName("td"));
String cellValue = tableCols.get([COL_NUM]).getText();
于 2018-05-18T17:45:55.467 に答える