有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

类型对象的gettext()方法的java编译错误未定义,需要强制转换

我是Java新手,正在尝试使用selenium。我也参加了一些在线课程。编码时,由于编译错误而卡在此处。请帮忙。由于这个问题没有解决,我们无法前进

Demo.java

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

public class Demo {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\E\\Java\\Software\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver(); 
        FacebookLogin FB = new FacebookLogin();
        String String = FB.FacebookLoginDetails();
        System.out.println(String);     
    }
}

Facebooklogin.java
import org.openqa.selenium.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.By;

import org.openqa.selenium.By.ByCssSelector;

public class FacebookLogin 

{

    public String FacebookLoginDetails() {      
    WebDriver driver1 = new ChromeDriver();
    driver1.get("https://login.salesforce.com/?locale=in");
    driver1.findElement(By.cssSelector("#username")).sendKeys("nitin010583@gmail.com");;
    driver1.findElement(By.name("pw")).sendKeys("narendra");
    driver1.findElement(By.xpath("//*[@id='Login']")).click();
    System.out.println(driver1.findElement(((Object) By.cssSelector("div#error.loginError")).gettext()));   
    return ("Success");

    }
}

我在尝试读取错误文本时看到错误。我在谷歌上搜索了一下,但不知道如何解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    您正在将org.openqa.selenium.By.ByCssSelector强制转换为java.lang.Object,而该方法没有gettext()

    您需要替换:

    System.out.println(driver1.findElement(((Object)By.cssSelector("div#error.loginError")).gettext())); 
    

    符合:

    System.out.println(driver1.findElement(By.cssSelector("div#error.loginError")).getText());