1

我正在尝试在菜单列表中打开一个菜单,然后单击菜单中的链接。菜单列表结构就像有两个并排的链接。一个链接转到提供摘要的主要部分,另一个链接打开菜单。我可以单击转到主要部分的链接,但无法单击打开菜单的链接,尽管我使用的 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

4

1 回答 1

0

您可以使用以下任何 xpath。

选项1:

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

选项 2:

//a[@data-target='#basicExample']
于 2019-06-03T14:19:54.883 回答