如何在树节点中单击下面的webelement

时间:2016-06-23 16:42:28

标签: c# selenium-webdriver treeview

我在我的应用程序中使用以下标记进行树节点控制。

如何以独特的方式选择它们

<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>

只有“应用程序名称”文本是唯一的。如何使用此可用文本单击节点

1 个答案:

答案 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;
    }
}