对于类型对象,方法gettext()的编译错误未定义,需要Cast

时间:2018-10-31 04:09:50

标签: java selenium

我是Java的新手,正在尝试硒。我也参加了一些在线课程。编码卡在这里是因为编译错误。请帮忙。由于无法解决,无法继续前进。

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 个答案:

答案 0 :(得分:2)

您正在将org.openqa.selenium.By.ByCssSelector转换为没有方法java.lang.Object的{​​{1}}。

您需要替换:

gettext()

行与

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