((JavascriptExecutor) driver).executeScript("window.open('" + href + "','_blank');");
if (!userName.equals(driver.findElement(By.xpath("//be-user//div[contains(@class, 'be-user__name')]")).getText())) {
System.out.println("Failed");
}
else{
System.out.println("Profile correctly shown");
}
另外,一个非常重要的事情是:不想测试失败,因为我有一个包含30个元素的列表并想要全部检查(如果首先不存在,那么转到下一个元素) 但是,现在我有一个案例(没有指望它)为以前删除的用户打开页面(所以,实际上在新标签页中的第一行打开页面,打开后,在该页面上查找元素) - 总结 driver.findelement 找不到任何内容,我的测试失败,结果如下:
no such element: Unable to locate element: {"method":"xpath","selector":"//be-user//div[contains(@class, 'be-user__name')]"}
为了缩短这个长篇故事,请你帮我找到解决方案 - 如果元素不存在,我可以返回上一页并执行
的isEmpty
将解决此问题(创建另一个 if 循环):
driver.findElement(By.xpath("//be-user//div[contains(@class, 'be-user__name')]")).isEmpty;
提前谢谢
答案 0 :(得分:0)
自己找到解决方案:
driver.findElements( By.xpath("...") ).size() != 0