我在我的应用程序中使用以下标记进行树节点控制。
如何以独特的方式选择它们
<TBODY>
<TR>
<TD class=TRV_COL>
<IMG onclick="C16.ExpandOrCollapse('App0_child','/WebSysconfig/','/WebSysconfig/','AFW_TV_Middle')" onkeypress="C16.ExpandOrCollapse('App0_child','/WebSysconfig/','/WebSysconfig/','AFW_TV_Middle')" onmousemove="C16.OnExpandMouseOver('App0_child',this)" id=C16_ImgPlusORMinusApp0_child class=Tree_B0AM alt="" src="http://nhsappchne8051/WebSysconfig/Images/AFW_TV_MiddlePlus.gif" onmousout="C16.OnExpandMouseOut(this)" PrefixImage="AFW_TV_Middle" CollapsedImage="/WebSysconfig/" ExpandedAlt="" CollapsedAlt="" ExpandedImage="/WebSysconfig/">
</TD>
<TD title="" class="TRV_NW TRV_PADRT2 " onkeydown=C16.OnNodeKeyDown(this)>
<SPAN onmouseup=C16.OnSpanMouseUp(this) onclick=C16.OnNodeClick(this) tabIndex=-1 onmouseover=C16.OnSpanMouseOver(this) onmousedown=C16.OnSpanMouseDown(this) onfocus=C16.OnSpanFocus(this) onmouseout=C16.OnSpanMouseOut(this) onblur=C16.OnSpanBlur(this) title="" class=Tree_Span Value="" Editing="false" IsHyperlink="" Selected="false" Tab_Index="0">Application Name</SPAN>
</TD>
</TR>
</TBODY>
只有“应用程序名称”文本是唯一的。如何使用此可用文本单击节点
答案 0 :(得分:0)
在没有看到页面的情况下,我无法判断这是否足够独特但是做了类似的事情。查找所有带有Tree_Span类的SPAN标记,它们是TD标记的子级。如果找到的其中一个SPAN包含所需的文本,请单击它。
String searchText = "Application Name";
IReadOnlyCollection<IWebElement> spans = driver.FindElements(By.CssSelector("td > span.Tree_Span"));
foreach (IWebElement span in spans)
{
if (span.Text == searchText)
{
span.Click();
break;
}
}