Java 编译错误:线程“中出现异常”;“主要”;错误:使用Selenium Webdriver的findElement(By.Id())存在未解决的编译问题
我已经将Java、Eclipse和Selenium配置为用于自动化基于web的应用程序。 但是,我面临以下提到的问题: 问题1:警告:生成路径指定执行环境JavaSE-14。工作区中没有安装与此环境严格兼容的JRE 问题2:无法访问代码中的selenium对象 问题3:获取下面提到的编译错误: 线程“main”java.lang中出现异常。错误:未解决的编译问题: 类型对象的方法sendKeys(String)未定义 类型对象的方法sendKeys(String)未定义 代码如下: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
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的对吗?这正在工作。谢谢@很高兴能帮助你!!!如果这个/任何答案对你有帮助,对未来的读者有好处。