在selenium中成功登录框架查询的难度

时间:2016-06-27 10:44:30

标签: selenium

我在构建用于撰写多个条件的查询时遇到了困难。

这是我的代码

public boolean isuserloggedin()
{
    boolean flag = false;

    if((!driver.findElements(By.id("Cancel")).isEmpty()))!!(driver.findElements(By.xpath("//div[@id='welcomeimagepath']".isDisplayed())))
    {
        flag = true;
    }

我希望用户在两个条件满足时登录

2 个答案:

答案 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;
    }