簡體   English   中英

在特殊情況下使用 Selenium 和 Java 從表中按索引獲取行

[英]Getting rows from a table by index in special cases using Selenium with Java

我們有一個表格,其中tbody中的第一行實際上描述了標題,而不是標題中的標題 所以我有類似下面的東西來獲取標題。

 @FindBy(xpath = "//table/tbody/tr[1]/th")
 private List<WebElement> headerRows.

我想做一些類似的東西來獲取詳細信息行(從第 2 行開始)。 如果我做

 @FindBy(xpath = "//table/tbody/tr")
 private List<WebElement> detailRows;

這也將獲得 header 行。 我想排除索引 1。我試過這個:

 @FindBy(xpath="//table/tbody/tr[!1]") and @FindBy(xpath="//table/tbody/tr[not(1)]")

但那些沒有用? 有什么建議么? 我可以用代碼來做,如果需要,在循環讀取時查找並跳過第一行:

 @FindBy(xpath="//table/tbody/tr")
 private WebElement rows;

 for (int i = 1; i rows.size(); i++) {
      WebElement row = rows.get(i);
 }    

但這似乎並不優雅。 這是最好的方法嗎?

如果要排除header row ,可以在 xpath 下方使用,這將忽略th列。

//table/tbody/tr[not(th)]

你的代碼將是

@FindBy(xpath = "//table/tbody/tr[not(th)]")
 private List<WebElement> detailRows;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM