【发布时间】:2020-05-10 07:01:45
【问题描述】:
我想使用 nightwatch 从下拉列表中选择一个项目。我能够拿到这个项目,直到我的 if 条件。它还打印值。但是当我使用 elementIdClick 单击该项目时,它会返回 {"status":-1,"state":"","value":{"message":"element click intercepted:
await browser.elements('css selector','#profile-container .col-md-6 .pd-dropdown-wrapper ul li', async function (res) {
await res.value.forEach(async function (jsonWebElement) {
let jsonWebElementId = jsonWebElement.ELEMENT;
await browser.elementIdText(jsonWebElementId, async function (jsonElement) {
let text = jsonElement.value;
console.log('text++++',text)
if(text == 'Last 30 Days'){
console.log('text^^^^^',text)
await browser.elementIdClick(jsonWebElement.ELEMENT);
}
});
});
});
【问题讨论】:
-
我试过这个
browser.execute('document.querySelector("#transaction-container .col-md-6 .pd-dropdown-wrapper ul li a").options[2].selected=true')。它没有从下拉列表中选择选项。它也没有抛出任何错误消息。 -
这是一个工作示例:codepen.io/mattgreen/pen/gObExaa 您应该能够在 chrome 中访问该页面,并打开 devtools 进行试验(控制台上的 JavaScript)。确保您的选择器是正确的。
-
有什么想法吗?我相信我快到了,但我无法从 if 条件下的下拉列表中选择值。但在“console.log”中我可以看到过滤后的值。
标签: javascript selenium-webdriver nodes nightwatch.js