标签: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