码迷,mamicode.com
首页 > 系统相关 > 详细

关于sendkeys()方法在eclipse中编译期报错的解决方案

时间:2017-09-01 22:19:12      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:rgs   学习   span   type   timeout   selenium2   使用   log   成功   

目前在学习selenium自动化测试,环境配置成功后,能正常调用谷歌浏览器访问网页,并获取页名。在进行下一步学习时,定位元素,并使用元素的方法。

当使用sendkeys()这个方法时,一直提示报错,代码如下:


public class Demo04 {
    public static void main(String[] args) {
        System.out.println("1111");
        System.setProperty("webdriver.chrome.driver",
                ".\\tool\\chromedriver.exe");
        WebDriver wb = new ChromeDriver();
        wb.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        wb.get("https://www.baidu.com");
        WebElement we = wb.findElement(By.id("kw"));
        WebElement we1 = wb.findElement(By.id("su"));
        we.sendKeys(“ceshi”);
        we1.click();
    }
}

用的是myeclipse这个编译器,会提示错误信息:The method sendKeys(CharSequence[]) from the type WebElement refers to the missing type CharSequence

刚开始,自己百度,结果得到的答案基本上是jre版本不对,使用1.7就能解决此问题。于是自己就替换了jre(目前使用的是1.8)。结果红线确实消失了,但运行报错,提示不支持52.0(1.7)

这个答案也许是正确的,但个人认为是针对selenium2,而不似乎selenium3,因为3版本只支持1.8以上的版本。

百度没有答案,于是在各个论坛贴吧里寻求帮助,总结一下:得到三种答案。

第一种:jre换成1.7。

已经试过,针对selenium3无效。

第二种:we.sendkeys("ceshi")用wb.findElement(By.id(new String[]{"ceshi"}))来代替

试过,结果一样报错。

第三种:编译器版本过低,不支持CharSequence这个类型

前两种都已经试过了,无效,对于第三种,只能死马当活马医了,查看本地的myeclipse的版本,发现还是2011年的,这时就有点感觉确实是编译器自身问题了。于是网上下载了myeclipse10.7版本,用新版的编译器运行时,发现确实不报错了。

这个问题,就因为编译器版本过低导致的,整整折磨我两天。总算是解决了,记录一下,也算给自己一个提醒。

 

关于sendkeys()方法在eclipse中编译期报错的解决方案

标签:rgs   学习   span   type   timeout   selenium2   使用   log   成功   

原文地址:http://www.cnblogs.com/wang1992/p/7465055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!