簡體   English   中英

Selenium RC如何處理動態行?

[英]How can Selenium RC process dynamic rows?

我有一個類似於以下表格:

零件編號價格狀態
第一部分#1.00美元OK
第二部分#2.00美元停產
第N部分#$ N.00重新排序

我的Java代碼將尋找狀態“ Nth Part#”,其中我不知道表有多大,表有多少列,也不知道N是多少(直到運行時)。 在Ruby / WATIR中,我將使用表的ID來獲取其HTML,然后使用Ruby遍歷各行,直到匹配#部分,然后在“狀態”列(可能是哪一列,但它設置在hd標頭的行中)。

Selenium的標准表查找函數selenium.getTable(“ table.1.2”)僅適用於包含每個測試相同內容的靜態表。 過度使用selenium.get_html_source是浪費的,因為selenium已經知道如何查找表,然后我必須解析整個網頁。

關於如何獲取表格html的任何想法,以及對行和/或列進行迭代的最佳方法是什么?

提前致謝。

最簡單的方法是像這樣使用getTable

selenium.getTable("table." + (1 + n) + ".3")

如果您知道運行時的n將獲取第n行的“狀態”單元格。

如果您要遍歷表中的所有行,則可以執行以下操作

try {
    for(int n = 1; true; n++) {
         String cellContents = selenium.getTable("table." + n + ".3");
         //do something with n
    }
}
catch {
    //handle end of table
}

或者

final int rowCount = (int)selenium.getXPathCount("id('table')/tbody/tr");
for(int n = 1; n < rowCount; n++) {
    String cellContents = selenium.getTable("table." + n + ".3");
}

請記住,在getTable(locator.row.column)rowcolumn從1開始。

並非完全符合您的要求,但我通過將唯一ID(聽起來像您的情況下的部件號)分配為tr的html ID來解決了類似的問題。 然后,我使用Selenium xpath定位器獲取測試所需的行和列。

暫無
暫無

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

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