我现在正在用硒网络驱动和摩卡
如果他们已登录,则DOM中存在以下内容(如果您未登录,则根本不存在)。
<a class="account-panel-controls__link" role="link" id="sign-out-nav" data-log-out="">Sign out</a>
我在想办法看看它是否存在
<a class="account-panel-controls__link" role="link" id="registration-sign-in-nav" data-log-out="">Sign in</a>
我尝试了一些follow的变体,但毫无结果。如果Id为“sign out nav”的元素最初存在,则可以正常工作,但如果没有,则测试失败,表示无法找到该元素(我猜是因为它根本不在DOM中?)。
driver.findElement(By.id('sign-out-nav')).isDisplayed().then(function (displayed) {
if (displayed) {
driver.findElement(By.id('sign-out-nav')).click();
}
else{
driver.findElement(By.id('registration-sign-in-nav')).click();
}
});
我搜索了很多帖子
我有什么遗漏吗?
谢啦
Selenium在尝试查找页面元素时非常变化无常。围绕驾驶员。与司机见面。wait()并查看是否允许找到它。
要在页面上查找元素,建议使用. findElements():
// find an element on the page sample:
driver.findElements(By.id('sign-out-nav')) .then(found => console.log('Element found? %s', !!found.length));
现在如果.长度
哦,不要忘记,根据您想要做的事情,如果在. findElement()中找到多个元素,您可能需要使用索引,以防您只有一个。
不确定这对您的实例是否有帮助,但使用webdriverio mocha assertjs selenium,我使用了以下内容:
assert.doesNotThrow(() => { browser.getText('#registration-sign-in-nav') });
这适用于我使用的堆栈,因为当元素不存在时,它会抛出错误。
====下面是完整的存储库,如果您希望查看更新后的存储库:https://github.com/kidfrom/g2java/tree/main/etc/mssqlserver 控制器/nameController.java mapper/namemapper.java model/namemodel.java
问题内容: 有什么方法可以追溯到Eclipse吗?基本上,当我按照执行流程(Ctrl +单击等)在一个大项目中跳来跳去时,有没有办法追溯步骤?如果我的代码调用一个方法,然后转到方法定义,是否有组合键可以将我带回到调用代码? 问题答案: 像在网络浏览器中一样按+ 和+ 。
我试图使用cypher创建一个查询,该查询将“查找”厨师可能有的缺失食材,我的图是这样设置的:
null 根据密钥在缓存中查找 如果找到,则从缓存返回结果 如果未找到,则返回NULL 我不想在cache-miss的情况下更新缓存,有没有办法使用spring注释来做到这一点
问题内容: 我想将方法返回的数组存储到另一个数组中。我怎样才能做到这一点? 当我调用此方法时,如何将返回的数组(z)存储到另一个数组中? 问题答案: 上面的方法不返回数组本身,而是返回对该数组的引用。在调用函数中,您可以在另一个引用中收集此返回值,例如: 此后还将引用之前引用的同一数组。 如果这不是您想要的,并且要创建阵列的副本,则可以使用创建副本。
我的数据库中有两个表: 表1:购买物品 表1列出了购买的物品,表2每小时更新一次每件物品的当前价格。因此,从表2中可以清楚地看出,肉类最后一次交易是在2013年2月20日上午10点,而鱼类不是在同一天交易的,它是在2013年2月19日上午9点交易的,鸡肉是在2013年2月20日上午9点交易的。我想做的是,列出表1中的所有项目,并加入表2中各个项目的最后交易价格,如下所示: 这里应该应用什么类型的连