我在构建用于撰写多个条件的查询时遇到了困难。
这是我的代码
public boolean isuserloggedin()
{
boolean flag = false;
if((!driver.findElements(By.id("Cancel")).isEmpty()))!!(driver.findElements(By.xpath("//div[@id='welcomeimagepath']".isDisplayed())))
{
flag = true;
}
我希望用户在两个条件满足时登录
答案 0 :(得分:0)
isDisplayed()
是WebElement的一种方法。
findElements()
返回WebElements列表,并且无法在List上调用isDisplayed()
。幸运的是,WebDriver还有方法findElement(By by)
,您可以使用它来获取单个WebElement。
因此,您的代码应如下所示:
boolean flag = false;
if (!driver.findElements(By.id("Cancel")).isEmpty() &&
driver.findElement(By.id("welcomeimagepath")).isDisplayed())
{
flag = true;
}
//编辑:
编辑答案,因为看起来搜索不是路径敏感的。
答案 1 :(得分:0)
根据您的html代码,您可以在xpath下使用并使用带有return语句的方法,然后您可以在条件语句中调用该方法,以便它将给出true或false
public boolean isuserloggedin()
{
boolean flag = false;
if (!driver.findElements(By.id("Cancel)).isEmpty() || driver.findElement(By.xpath("//div[@id='WelcomeRefreshButton']")).isDisplayed())
{
flag = true;
}
return flag;
}