我嘗試自動化測試,嘗試達到HtmlTable
對象,但並不那麼容易..如果將它添加到UImap
,設計器文件將其顯示爲HtmlTable,但我無法從地圖中找到它。 如果我嘗試手動找到它,它將起作用,但行和單元屬性爲空值,但CellCount
和RowCount
顯示正確的值。 我可以到達單元格的唯一方法是將HtmlTable分隔爲兩個HtmlCustom控件。 第一個的「TagName
」是「THEAD
」,第二個是「TBODY
」。編碼的UI HtmlTable的行和單元格屬性爲空
HtmlCustom parent = new HtmlCustom(htmlTable);
parent.SearchProperties.Add("TagName","TBODY");
parent.SearchProperties.Add("ClassName","HtmlTag.TBODY");
var firstchild = parent.GetChildren();
foreach(var secondchild in firstchild)
{
var thrdchild = secondchild.GetChildren();
foreach (var cells in thrdchild)
{
//do sg
}
}
分離後,我可以得到與GetChildren()
功能(基本上行)的孩子,但在某些情況下,GetChildren
回報null
.. 我不能找到有關這個問題的任何東西。我究竟做錯了什麼?
UPDATE
晴的GetCell
功能工作正常,並返回細胞本身,但在少數情況下(5%),但無法找到該單元格。就像GetChildren
函數一樣。但這真的很煩人。 我寫了一個小遞歸函數有try catch塊趕上NullReferenceException
並嘗試一次又一次得到的細胞,但不會有很大的幫助..
您可能需要調整搜索屬性並使您的表能夠找到。無需製作HtmlCustom。如果你的頁面只有一個表格,那麼一個簡單的方法就是從SearchFilter中刪除所有的內容,而在SearchProperties中只保留TagName爲「Table」並刪除其他搜索屬性。它一定會拍攝到表格。之後'GetCell'和'GetRow'應該正常工作。 – SarkarG
我沒有任何搜索屬性。我可以手動定位表格,問題是單元格和行是空的。 RowCount和CellCount正常工作。 – fota666