Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编译错误:线程“中出现异常”;“主要”;错误:使用Selenium Webdriver的findElement(By.Id())存在未解决的编译问题_Java_Selenium_Object_Selenium Webdriver_Compilation - Fatal编程技术网

Java 编译错误:线程“中出现异常”;“主要”;错误:使用Selenium Webdriver的findElement(By.Id())存在未解决的编译问题

Java 编译错误:线程“中出现异常”;“主要”;错误:使用Selenium Webdriver的findElement(By.Id())存在未解决的编译问题,java,selenium,object,selenium-webdriver,compilation,Java,Selenium,Object,Selenium Webdriver,Compilation,我已经将Java、Eclipse和Selenium配置为用于自动化基于web的应用程序。 但是,我面临以下提到的问题: 问题1:警告:生成路径指定执行环境JavaSE-14。工作区中没有安装与此环境严格兼容的JRE 问题2:无法访问代码中的selenium对象 问题3:获取下面提到的编译错误: 线程“main”java.lang中出现异常。错误:未解决的编译问题: 类型对象的方法sendKeys(String)未定义 类型对象的方法sendKeys(String)未定义 代码如下: packag

我已经将Java、Eclipse和Selenium配置为用于自动化基于web的应用程序。 但是,我面临以下提到的问题:

问题1:警告:生成路径指定执行环境JavaSE-14。工作区中没有安装与此环境严格兼容的JRE

问题2:无法访问代码中的selenium对象

问题3:获取下面提到的编译错误: 线程“main”java.lang中出现异常。错误:未解决的编译问题: 类型对象的方法sendKeys(String)未定义 类型对象的方法sendKeys(String)未定义

代码如下:

package palettepkg;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class palettelogin {

    public static void main(String[] args) {
        
        System.setProperty("webdriver.ie.driver", "C:\\Program Files (x86)\\Selenium\\Drivers\\IEDriverServer.exe");
        
        InternetExplorerDriver driver = new InternetExplorerDriver();
        
        driver.get("http://adclnapdev01v.bcg.com:8030");
        
        //driver.manage().window().maximize();
        
        driver.findElement(By.Id("unamebean")).sendKeys("VERMA");
        
        Thread.sleep(2000);
        
        driver.findElement(By.className(".LoginText")).sendKeys("Work@12345678");
        
        //driver.close();
改为

WebDriver driver
当您将驱动程序定义为internetexplorerdriver时,您正在向下转换它,这意味着internetexplorerdriver的本地方法将仅可用

您必须向上转换WebDriver接口方法才能使用

定义WebDriver驱动程序时,WebDriver方法和internetexplorerdriver方法都将可用

改为

WebDriver driver
当您将驱动程序定义为internetexplorerdriver时,您正在向下转换它,这意味着internetexplorerdriver的本地方法将仅可用

您必须向上转换WebDriver接口方法才能使用

定义WebDriver驱动程序时,WebDriver方法和internetexplorerdriver方法都将可用

此错误消息

Exception in thread "main" java.lang.Error: Unresolved compilation problems: The method sendKeys(String) is undefined for the type Object The method sendKeys(String) is undefined for the type Object
…表示.Id未定义类型对象的方法
sendKeys(String)

根据文档,该方法不是由.Id使用的:

public static By id​(java.lang.String id)

Parameters:
id - The value of the "id" attribute to search for.

Returns:
A By which locates elements by the value of the "id" attribute.

解决方案 因此,您的代码行实际上是:

driver.findElement(By.id("unamebean")).sendKeys("VERMA");
此错误消息

Exception in thread "main" java.lang.Error: Unresolved compilation problems: The method sendKeys(String) is undefined for the type Object The method sendKeys(String) is undefined for the type Object
…表示.Id未定义类型对象的方法
sendKeys(String)

根据文档,该方法不是由.Id使用的:

public static By id​(java.lang.String id)

Parameters:
id - The value of the "id" attribute to search for.

Returns:
A By which locates elements by the value of the "id" attribute.

解决方案 因此,您的代码行实际上是:

driver.findElement(By.id("unamebean")).sendKeys("VERMA");

InternetExplorerDriver
有什么问题?@DebanjanB我添加了原因,它不会公开WebDriver中可用的方法。OP的用例可能不需要:)@DebanjanB第二个问题:)InternetExplorerDriver有什么问题?@DebanjanB我添加了原因,它不会公开WebDriver中可用的方法可能OP的用例不需要:)@DebanjanB用于第二个问题:)如果没有方法,那么erro应该是没有方法Id的,对吗?这正在工作。谢谢@很高兴能帮助你!!!答案如果这个/任何答案是/是有助于你未来读者的利益。如果没有方法,那么erro应该是没有方法Id的对吗?这正在工作。谢谢@很高兴能帮助你!!!如果这个/任何答案对你有帮助,对未来的读者有好处。