1.下面以最简单的baidu搜索为例,来编写第一个java的webdriver脚本
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SearchByBaidu {
public static void main(String[] args) {
// 定义firefox驱动程序gecko.driver的安装路径
System.setProperty("webdriver.gecko.driver", "D:\\Tools\\geckodriver-v0.11.1-win64\\geckodriver.exe");
// 定义firefox的安装路径,注意当firefox安装时,用户修改过默认安装路径,则此时必须手工指定firefox的安装路径,否则程序运行时,无法启动firefox
System.setProperty("webdriver.firefox.bin","D:\\firefox\\firefox.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com/");
//最大化window窗口
driver.manage().window().maximize();
WebElement txtbox = driver.findElement(By.name("wd"));
txtbox.sendKeys("Glen");
WebElement btn = driver.findElement(By.id("su"));
btn.click();
driver.close();
}
}
2. 此时会在eclipse里面出现一个很特别的错误:The method sendKeys(CharSequence[]) in the type WebElement is not applicable for the arguments (String)
并且eclipse各个包的java文件图标都有小红叉。
仔细检查脚本,发现脚本中sendKeys方法传入参数都合法,该语句并没有错误。
后来自己百度了一下,原来是Java Compiler版本太低了,默认是1.4.只需要将compiler改为1.7 就不会报这个错了。
方法:Right click on your java project and select Build Path -> Click on Configure Build Path>In project properties window: Click/select Java Compiler at the left panel
At the right panel: change the Compiler compliance level from 1.4 to 1.7 or higher>Lastly Click on Apply and OK
此时eclipse各个包的java文件图标的小红叉也自动消失了