页面

时间:2018-01-03 07:23:10

标签: java webdriver

新年快乐,今年需要先帮助。我创建了以下循环:

 ((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;

提前谢谢

1 个答案:

答案 0 :(得分:0)

自己找到解决方案:

driver.findElements( By.xpath("...") ).size() != 0