-1
在我的硒的項目,我有僅使用div
標籤,而不是<td>
和<tr>
標籤構建的網絡表構成。在這種情況下,我怎樣才能找到這樣的表中的行數。表使用的<tr> div標籤instad和標籤
在我的硒的項目,我有僅使用div
標籤,而不是<td>
和<tr>
標籤構建的網絡表構成。在這種情況下,我怎樣才能找到這樣的表中的行數。表使用的<tr> div標籤instad和標籤
嗨你能提供一個示例表結構,只是你的HTML如何。看起來您正在使用角度2控件。這就是控件看起來像一張桌子的地方,但是如果您掃描它,它的所有嵌套div標籤。我在處理這個問題之前,我只需要您的HTML結構,以便我可以發佈解決方案。 如果你的表格結構是這樣的
<div>
<div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
</div>
</div>
public void IterateThroughDivTable(IWebElement tblParentObj)
{
var childCount = ((IJavaScriptExecutor)DriverContext.Driver).ExecuteScript("return arguments[0].childNodes.length; ", tblParentObj);
for (int i = 0; i < Convert.ToInt32(childCount); i++)
{
var rowDivTag = ((IJavaScriptExecutor)DriverContext.Driver).ExecuteScript("return arguments[0].childNodes["+i+"].tagName; ", tblParentObj);
//check to see if its a div tag else ignore it
if (rowDivTag.ToString() == "div")//this is your row
{
var tr = ((IJavaScriptExecutor)DriverContext.Driver).ExecuteScript("return arguments[0].childNodes[" + i + "]; ", tblParentObj);
//now try to find the nested div tag inside each tr div tag
foreach (IWebElement tc in (IEnumerable)tr)
{
var colDivTag = ((IJavaScriptExecutor)DriverContext.Driver).ExecuteScript("return arguments[0].childNodes[" + i + "].tagName; ", tc);
//check to see if its a div tag else ignore it
if (colDivTag.ToString() == "div")//this is your column in each row
{
//now this is each cell in the table
var divText = tc.Text;
}
}
}
}
}
你試過的HTML和代碼? –