我正在尝试打开菜单列表中的菜单,然后单击菜单中的链接。菜单列表的结构就像有两个并排的链接。一个链接转到提供摘要的主要部分,另一个链接打开菜单。尽管我使用的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
。
答案 0 :(得分:0)
您可以使用以下任何xpath。
选项1:
//a[.='Main Link']/following-sibling::span/a
选项2:
//a[@data-target='#basicExample']