如何在selenium java中单击div标签列表元素

时间:2016-12-01 23:42:36

标签: selenium-webdriver

我无法点击列表webelement。这是列表的HTML。我需要点击“管理”标签。

<ul id="ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList" class="TransactionLinksTab listitem-cursor-pointer">
    <li>
        <div>Transactions</div>
    </li>
    <li>
        <div>Restricted</div>
    </li>
    <li>
        <div>Quotes</div>
    </li>
    <li>
        <div>Admin</div>
    </li>
</ul>

我尝试了代码

driver.findElement(By.xpath("//*[@id='TransactionLinksTabContainer']/ul/li[3]/div")).click();

但它不起作用。

感谢您的回复。但都没有效果。 UI中的webelement是一个选项卡。在UI中它有四个选项卡。如果我单击该Admin选项卡,则会显示一个很大的元素列表。 enter image description here

3 个答案:

答案 0 :(得分:0)

您可能想要包含html。这是一个下拉列表吗?点击是打开列表还是鼠标悬停?想一想,作为用户,我在做什么?如果是鼠标悬停,则需要将鼠标悬停在元素上。如果必须先单击它以打开菜单,请先执行此操作。然后单击元素只需执行以下操作。我更像是一个C#人,但下面的xpath可能有所帮助。

ActiveSheet

答案 1 :(得分:0)

我认为您的XPath刚刚关闭。您似乎已经开始使用其他一些父元素,因为XPath中的ID与您发布的HTML不匹配。请尝试使用此XPath:

"//*[@id='ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList']/li/div[text()='Admin']"

我更正了ID,后代,并将确切的字符串匹配添加到&#34; Admin&#34;使用text()

答案 2 :(得分:0)

这应该有效:

driver.findElement(By.xpath( “// UL [@ ID = 'ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList'] // LI / DIV [文本()= '管理员']”))点击();