【发布时间】:2019-05-30 23:36:16
【问题描述】:
我正在使用 Selenium 和 Robot Framework。我的 Web 应用程序是用 React 编写的。我遇到了问题,因为单击链接后我的 Selenium 测试未找到元素。
我尝试添加一个睡眠来检查 Selenium 是否只是太快而没有检测到之后的变化,但情况似乎并非如此。另外,我尝试添加一个非常大的睡眠并尝试在浏览器控制台中找到该元素,并且在控制台中可以找到该元素。
代码试验:
Click Link //li/a[contains(., /span[@class='nav-text']/span[.='Element'])]
Page Should Contain Element //li[@class='ant-menu-item ant-menu-item-selected']/a/span/span[.='Element']
HTML:
<div class="ant-layout-sider-children">
<div class="logo"></div>
<ul class="ant-menu ant-menu-dark ant-menu-root ant-menu-inline" role="menu">
<li class="ant-menu-item" role="menuitem" style="padding-left: 24px;">
<a href="/elements">
<span class="nav-text"><span>Elements</span></span>
</a>
</li>
<li class="ant-menu-item ant-menu-item-selected" role="menuitem" style="padding-left: 24px;">
<a class="active" aria-current="page" href="/parameters">
<span class="nav-text"><span>Parameters</span></span>
</a>
</li>
</ul>
</div>
错误:
Page should have contained element '//li[@class='ant-menu-item ant-menu-item-selected']/a/span/span[.='Elements']' but did not
当点击一个项目时,ant-menu-item-selected 会变为选中的<li>。
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: selenium selenium-webdriver xpath webdriver robotframework