首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XPath作为定位器时不位于角app中的元素

使用XPath作为定位器时不位于角app中的元素
EN

Stack Overflow用户
提问于 2020-07-22 20:36:09
回答 2查看 363关注 0票数 0

我正在尝试编写一个量角器测试,它使用XPath来单击<a>标记,这是我的角度应用程序的一部分。

以下是我目前的情况:

代码语言:javascript
复制
it('should click the Calculators menu button', () => {
    var listItem2 = element(by.xpath('/html/body/app-root/app-shell/app-menu/div[2]/ul/li[3]'));
    listItem2.click().then(() => {
        browser.sleep(10000);
    });
});

当我运行测试时,我会收到以下错误消息:

失败:没有使用locator: By找到任何元素(xpath,/html/body/app-root/app-shell/app-menu/nav/div2/ul/li3) )

当我检查<a>标记&单击Copy full XPath时,上面的XPath就是我得到的值。

我有一种感觉,这个问题围绕着frames。例如,当我输入登录凭据&单击Login时,我会被带到另一个URL。

有谁能告诉我为什么这个XPath没有被识别。

下面是控制台中的HTML:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-23 00:19:59

尝试在单击之前添加一个期望条件。类似于:

代码语言:javascript
复制
var elm = element(by.xpath('//ul[@class="nav navbar-nav pull-right navigation"]/li[3]/a'));
var EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(elm), 5000);
elm.click();
票数 1
EN

Stack Overflow用户

发布于 2020-07-22 20:45:20

您错过了一个nav标记:

代码语言:javascript
复制
 /html/body/app-root/app-shell/app-menu/nav/div[2]/ul/li[3]

但最好这样做:

代码语言:javascript
复制
//app-root/app-shell/app-menu/nav/div/ul/li[3]/a
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63042801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档