-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和代码? –