无法通过XPATH单击该元素

时间:2015-10-13 17:51:24

标签: selenium-webdriver

我需要点击以下

中的 XML管理元素
<div id="sectionnav">
    <ul id="navlist" class="ui-accordion ui-widget ui-helper-reset" role="tablist">`enter code here`
    <li class="heading ui-accordion-li-fix">
    <a href="customer_main.do?showParam=Account Maintenance" class="MenuTitle ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" role="tab" aria-expanded="false" tabindex="0">
    <span class="ui-icon ui-icon-triangle-1-e"/>Account</a>
    <ul class="slide ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" role="tabpanel" style="height: 253px; display: none;">
    <li>
    <a href="/sher-link/user/UserProfileCustomerLoadAction.do">Modify Profile</a>
    </li>
    </ul>
    </li>
    <li class="heading ui-accordion-li-fix">
    <a href="#" class="MenuTitle ui-accordion-header ui-helper-reset ui-state-active ui-corner-top" role="tab" aria-expanded="true" tabindex="0">
    <span class="ui-icon ui-icon-triangle-1-s"/>XML administration</a>
    <ul class="slide ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active" role="tabpanel" style="height: 253px; display: block;">
    <li>

我试过以下但是找不到元素。尝试使用click by linktext但无法正常工作

driver.findElement(By.xpath("//[@id='navlist']/li[2]/a/text()")).click();

driver.findElement(By.linktext("XML administration")).click();

2 个答案:

答案 0 :(得分:1)

您在问题中显示的XML格式不正确(没有结束标记),但我认为您正在寻找的XPath是:

//a[contains(.,'XML administration')]

问题出现是因为XML中的span标记实际上并不包含任何文本,而是自动关闭。

答案 1 :(得分:0)

尝试下面的Xpath: -

//span[contains(.,'XML administration')]

希望它会对你有所帮助:)。

如果仍然遇到任何问题,请回复我:)