2016-02-23 140 views
-1

我最近進入Selenium,發現自己無法找到一種方法來鎖定表格中的特定單元格。該分區是TestTable1,表是TestTable1_ct111,該行是TestTable1_ct111__0,我試圖訪問第二個單元格。我想知道我將不得不使用的xpath來定位這個單元格。如何使用硒CSS選擇器定位特定單元格

+3

請你可以發佈一些實際的HTML? –

+2

你需要粘貼HTML的片段。還要決定問題是關於CSS選擇器還是xpath,或者兩者兼而有之,因爲標題說了一件事,而實際的問題就是另一個 –

回答

0

使用XPath。

XPath支持對可能元素列表中的特定元素進行「索引」。例如,如下表:

<table> 
    <tbody> 
     <tr> 
      <td>Hello</td> 
      <td>Bye</td> 
     </tr> 
     <tr> 
      <td>Hello</td> 
      <td>Bye</td> 
     </tr> 
    </tbody> 
</table> 

如果我想在這個表中選擇「再見」在第二tr元素td元素,我可以使用以下XPath:

//table/tbody/tr[2]/td[2] 

的此XPath中的重要部分是tr[2],其中我將搜索限制在tbody中包含的所有tr子元素中的第二個tr元素。第二部分是td[2],它將我的搜索限制爲已指定的第二個tr元素中的第二個td元素。

請注意,XPath 「索引」 從1開始,而不是從0

0
driver.findElement(By.xpath(".//*[@id='TestTable1_ct111']/tbody/tr[0]/td[1]")).getText(); 

希望它能幫助!

相關問題