Selenium WD / Java |无法创建'if'& '否则'声明

时间:2017-12-05 13:11:11

标签: java selenium if-statement selenium-webdriver elements

我有一个网页,如果打开/关闭特定股票,则会有一个指标。 为此,我想设置一个if&否则如果声明。出于某种原因,我在日食中遇到错误。

*注意:不知道它是否有帮助,但是如果我将代码复制/粘贴到一个新的空类“主”,它可以正常工作 - 所以代码的结构是好的我猜测。

import pandas as pd
import numpy as np
desired_width = 320
pd.set_option('display.width', desired_width)
np.set_printoptions(linewidth=desired_width)

我在'else'下遇到语法错误:

  

令牌“else”上的语法错误,删除此令牌

3 个答案:

答案 0 :(得分:2)

else if (Status == driver.findElement(By.cssSelector(".greenClockBigIcon")) );

这是你的错误:最后一个;必须删除

答案 1 :(得分:0)

您发布的代码存在一些问题。

  1. 您将;放在ifelse if语句的末尾。他们都应该被删除。

  2. 您正在将元素Status(当前为null)与.findElement()返回进行比较。如果找不到该元素,它将抛出异常,而不是返回null元素。解决这个问题的方法是使用.findElements()(注意复数,元素 s )并检查列表是否为空。如果为空,则找不到该元素。

  3. 在这两种情况下都存在.back()语句。因此,它可以移出if并以任何方式执行。

  4. 重写代码

    public static void runTestClock(WebDriver driver)
    {
        if (driver.findElements(By.cssSelector(".redClockBigIcon")).isEmpty())
        {
            System.out.println("Stock is closed");
        }
        else if (driver.findElements(By.cssSelector(".greenClockBigIcon")).isEmpty())
        {
            System.out.println("Stock is open");
        }
        driver.navigate().back();
    }
    

    说了这么多......通过查看你正在使用的CSS选择器,我猜想绿色意味着股票是开放的,红色意味着它已经关闭。这意味着你的逻辑向后。我想你需要打开你的消息< - >关闭,但你会比我更清楚......

答案 2 :(得分:0)

请删除;在if和else if语句结尾处的(分号)。