无法点击菜单链接

时间:2019-06-03 12:02:26

标签: selenium selenium-webdriver webdriverwait timeoutexception page-factory

我正在尝试打开菜单列表中的菜单,然后单击菜单中的链接。菜单列表的结构就像有两个并排的链接。一个链接转到提供摘要的主要部分,另一个链接打开菜单。尽管我使用的XPath可以唯一地标识菜单链接,但我可以单击转到主要部分的链接,但无法单击打开菜单的链接。 HTML是:

<li _ngcontent-c9="" class="list-group-item d-flex justify-content-between align-items-center">
  <i _ngcontent-c9="">...</i>
  <div _ngcontent-c9="" class="center" style="font-family: ITC Avant Garde Gothic Std Book;font-size: 20px;">
    <a _ngcontent-c9="" routerlink="../someText/mainlink" href="#/someText/mainlink">Main Link</a>
    <span _ngcontent-c9="" style="padding-left:40%">
      <a _ngcontent-c9="" class="fa fa-bars" data-target="#basicExample" data-toggle="modal" placement="left">
      </a>
    </span>
  </div>
</li>

我需要转到span下的链接。

没有文本Menu Link。我添加了该文本,以便可以理解其结构。我用于菜单链接的XPath:

.//a[./text()='Main Link']/../span/a

我用于主链接的XPath是:

.//a[./text()='Main Link']

此外,我使用页面工厂将元素定义为:

@FindBy(linkText='Main Link')
WebElement mainLink;

当我尝试单击主链接时,两者均正常工作。但我无法点击它旁边的菜单链接。我实施了明确的等待20秒。我得到TimeOutException

1 个答案:

答案 0 :(得分:0)

您可以使用以下任何xpath。

选项1:

 //a[.='Main Link']/following-sibling::span/a

选项2:

//a[@data-target='#basicExample']