javascript - Protractor 找不到具有 id 的元素

标签 javascript selenium protractor end-to-end

我正在使用 Protractor ,我不明白为什么当我尝试通过 css 获取某些东西时它可以工作,但如果我尝试使用 id 获取它却不起作用。

btnLogin 行上的错误消息

TypeError: undefined is not a function

部分代码

browser.get('http://localhost:3000/#!/signin');
expect(element.all(by.css('.btn-social')).count()).toBe(2);
expect(element(by.id('btnLogin').count())).toBe(1);

如果我尝试在输入中做某事它会起作用

element(by.id('username')).clear().sendKeys('something');

按钮的html

<button id="btnLogin" class="btn btn-lg btn-primary btn-block" type="submit">Login</button>

我不知道我做错了什么:S

最佳答案

您正在 ElementFinder 上调用 count() - element() 调用的结果。

相反,如果你真的想检查计数,你需要 element.all():

expect(element.all(by.id('btnLogin').count())).toBe(1);

关于javascript - Protractor 找不到具有 id 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33259186/

相关文章:

javascript every - 自动检测(键,值)中val的名称

javascript - 直接链接到 iframe 中加载的特定内容的页面

javascript - 如何使用 Selenium 执行网站脚本中定义的 JavaScript 函数?

javascript - getText() 无法从下拉列表中进行选择

protractor - 类型 'promise.Promise<string>' 不可分配给类型 'Promise<string>'

angularjs - browser.debugger() 不会暂停浏览器

javascript - 滚动时如何在 div 中固定 html 表头?

javascript - 从 Expo 项目中的 TextInput 获取文本时,未定义不是对象

java - 如何获取 Espresso 中的元素列表?

angularjs - Protractor - 在 webstorm 中调试