【发布时间】:2019-03-18 10:05:31
【问题描述】:
编辑:不知道为什么这被标记为已回答,因为链接的问题都没有处理这个问题,也没有使用 Javascript。我正在寻找一种方法来捕捉这个错误,而不是阻止它,因为像 invisibilityOfElementLocated 这样的方法在 Javascript 版本中不可用。
我有一个网站,我正在设置一些关于使用 nodeJS、selenium 和 mocha 的基本自动化测试。首次打开站点时,用户单击一个框并关闭欢迎消息(此处为“elemId”),然后不再在 DOM 中呈现。在开始实际测试之前,我需要检查它是否不再存在,但尽管使用了 stalenessOf,但我经常收到 NoSuchElementError 的硒错误。如果我可以捕获并忽略此异常,这将不是问题,但不幸的是,捕获它似乎不起作用。以下是有问题的代码和我收到的错误消息。
// Check it no longer exists before moving on
driver.wait(until.stalenessOf(driver.findElement(By.id('elemId'))))
.then(null, function(err) {
// Sometimes this throws an error even though the element is stale
// Using this syntax should catch the error, as it is a selenium error, not a javascript error
console.log('Threw error but that is acceptable');
})
NoSuchElementError:没有这样的元素:无法找到元素:{"method":"css selector","selector":"*[id="elemId"]"}
【问题讨论】:
标签: javascript selenium mocha.js