2 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個贊
不完全確定您在問什么,但也許這些 XPath 之一會有所幫助......
這個 XPath 表達(dá)式,
count(/tr/th[.="GIRAFFE"]/preceding-sibling::th)+1
將評估為
4
表示 GIRAFFEth
元素是第 4 個th
兄弟元素。
這個 XPath,
/tr/th[.="GIRAFFE"]
將根據(jù)其內(nèi)容選擇 GIRAFFE th
。
這個 XPath,
/tr/th[.="CHEETAH"]/following-sibling::th[1]
將th
憑借其在獵豹之后的地位選擇長頸鹿th
。

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個贊
如果您想通過行中的標(biāo)題文本選擇列元素并在 Selenium 中使用它,這里有一些示例:
HTML 示例:
<table>
<thead>
<tr>
<th>LION</th>
<th>TIGER</th>
<th>CHEETAH</th>
<th>GIRAFFE</th>
<th>BEAR</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
</tbody>
</table>
用于 Selenium 的 XPATH:
//table/tbody/tr/td[count(//table//th[.="GIRAFFE"]/preceding::th)+1]
Selenium Java 使用示例:
String animalName = "GIRAFFE";
WebElement element = driver.findElement(By.xpath("//table/tbody/tr/td[count(//table//th[.='" + animalName + "']/preceding::th)+1]"));
WebElement animalElementFromRow1 = driver.findElement(By.xpath("//table/tbody/tr[1]/td[count(//table//th[.='" + animalName + "']/preceding::th)+1]"));
WebElement animalElementFromRow2 = driver.findElement(By.xpath("//table/tbody/tr[2]/td[count(//table//th[.='" + animalName + "']/preceding::th)+1]"));
添加回答
舉報