-1
其实我在浏览器中直接测试和我得到错误说没有使用定位器找到的元素量角器没有使用定位器找到的元素:通过(XPath中,
spec.js
it('Test for Application Registration text', function() {
var ar = browser.findElement(by.xpath('/html/body/admin-app-root/layout/div[1]/cheader/nav/div/div[1]/a[2]'));
expect(ar.getAttribute('value')).toEqual('Application Registration');
});
HTML:
<div _ngcontent-bbu-25="" class="navbar-header">
<a _ngcontent-bbu-25="" class="navbar-brand logo navbar-brand-logo" href="/register/core/feature-list"></a>
<a _ngcontent-bbu-25="" class="navbar-brand navbar-brand-title app-title ellipses" href="/register/core/feature-list">Application Registration</a>
</div>
错误:
Message:[chrome #01] Failed: no such element: Unable to locate element:
{"method":"xpath","selector":"/html/body/adminapproot/layout/div[1]/
cheader/nav/div/div[1]/a[2]"}[chrome #01]
(Session info: chrome=61.0.3163.100)[chrome #01]
(Driver info:chromedriver=2.32.498550(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),
platfor=Windows NT 10.0.14393 x86_64)[chrome #01]
Stack:[chrome #01] NoSuchElementError: no such element: Unable to locate
element:{"method":"xpath","selector":"/html/body/admin-app-
root/layout/div[1]/cheader/nav/div/div[1]/a[2]"}[chrome #01]
(Session info: chrome=61.0.3163.100)[chrome #01]
(Driver info:chromedriver=2.32.498550(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),
platfor=Windows NT 10.0.14393 x86_64)[chrome #01]
at WebDriverError(C:\\node_modules\proractor\node_modules\selenium-
webdriver\lib\error.js:27:5)
没有找到任何元素意味着这个xpath没有元素。 – svgrafov
但他们是目前在该路径上的链接 – amit
哦,是的,对不起。有些邪恶的开发者故意将错误加入该库。 当您和您的应用程序检查文档时,DOM可能会有所不同。如果这是您的页面或链接,请考虑添加页面的代码,如果这是外部页面。 – svgrafov