Java错误:无法应用java.lang.String

时间:2016-03-24 04:30:52

标签: java selenium

尝试制作一个简单的机器人,但我遇到了这个错误。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;


public class Main {
    public static void main(String[] args) throws InterruptedException {

        WebDriver driver = new ChromeDriver();
        driver.get("https://***.com/#/");
        driver.findElement(By.xpath("//*[@id=\"homepage-hero\"]/a/img")).click(); // clicks site steam sign in button
        WebElement steamUsername = driver.findElement(By.xpath("//*[@id=\"steamAccountName\"]"));
        WebElement steamPassword = driver.findElement(By.xpath("//*[@id=\"steamPassword\"]"));

        steamUsername.sendKeys("***");
        steamPassword.sendKeys("***");
        Thread.sleep(45000);
        WebElement updatedBalance = driver.findElement(By.xpath("//*[@id=\"header-balance\"]"));
        WebElement balance = driver.findElement(By.xpath("//*[@id=\"header-balance\"]"));

        if(updatedBalance.getText() > balance.getText()); {
            System.out.println("hello");
        }

    }
}

    error: could not be applied too java.lang.String

2 个答案:

答案 0 :(得分:1)

我猜这条线给了你错误:

if(updatedBalance.getText() > balance.getText()); {
    System.out.println("hello");
}

您无法使用>运算符来比较字符串。如果这些字符串代表一个数字,那么您应该首先将其转换为例如您正在使用的整数或任何数字数据类型。作为将字符串转换为整数的示例,请使用Integer.valueOf(updateBalance.getText())

我也看到你的if语句后面有一个分号,我认为你并不认为它在那里。

答案 1 :(得分:0)

你想在这做什么?

if(updatedBalance.getText() > balance.getText()); {
            System.out.println("hello");
        }

首先,由于System.out.println("hello");之后的分号,if() if()条件相关,这是一个错误。接下来,您想要获得什么,将字符串与“>”进行比较?要比较字符串长度,请使用updatedBalance.getText().length()检查字符串是否相等,使用updatedBalance.getText().equals(balance.getText())