selenium webdriver 环境搭建--java
selenium java环境的安装可以分为三个部分:jdk、eclipse和selenium.
jdk
jdk(java development kit)是sun公司针对java开发人员的产品,是整个java的核心,包含了java的运行环境、工具和基础类库。
1.下载新版jdk,目前是jdk8,双击安装即可,选择安装在D:\Program Files\Java\jdk1.8.0.
2.配置环境变量
3.运行cmd查看jdk版本
eclipse
eclipse无需多解释,windows傻瓜式安装,安装完成后测试一下即可
selenium
我们一共需要三个文件selenium-server-standalone-2.40.0.jar、selenium-java-2.40.0.jar和selenium-java-2.40.0-srcs.jar,可自行到selenium官网下载。
在test.java中写入测试代码
1 package test; 2 3 import org.openqa.selenium.WebDriver; 4 import org.openqa.selenium.chrome.ChromeDriver; 5 6 public class test { 7 public static void main(String[] args) { 8 9 WebDriver driver = new ChromeDriver(); 10 11 driver.get("http://shanghai.anjuke.com"); 12 13 System.out.println("Page title is: " + driver.getTitle()); 14 15 } 16 }
不出意外的报错了,查看错误信息The path to the driver executable must be set by the webdriver.chrome.driver system property; 原来是没有预先设置chrome的地址遂设置之,注意chromedriver.exe是google提供的驱动器需要另外下载并放在chrome安装目录下。
1 package test; 2 3 import org.openqa.selenium.WebDriver; 4 import org.openqa.selenium.chrome.ChromeDriver; 5 6 public class test { 7 public static void main(String[] args) { 8 //设置chromedriver地址 9 System.setProperty ( "webdriver.chrome.driver" , "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe" ); 10 11 WebDriver driver = new ChromeDriver(); 12 13 driver.get("http://shanghai.anjuke.com"); 14 15 System.out.println("Page title is: " + driver.getTitle()); 16 17 } 18 }
运行之,成功输出了网页标题
再试试搜索功能
1 package test; 2 3 import org.openqa.selenium.By; 4 import org.openqa.selenium.WebDriver; 5 import org.openqa.selenium.WebElement; 6 import org.openqa.selenium.chrome.ChromeDriver; 7 8 public class test { 9 public static void main(String[] args) { 10 //设置chromedriver地址 11 System.setProperty ( "webdriver.chrome.driver" , "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe" ); 12 13 WebDriver driver = new ChromeDriver(); 14 15 driver.get("http://shanghai.anjuke.com"); 16 17 WebElement input = driver.findElement(By.xpath("//input[@id='glb_search0']")); 18 19 CharSequence[] cs= new CharSequence[1]; 20 cs[0] = "上海"; 21 input.sendKeys(cs); 22 23 WebElement btn = driver.findElement(By.xpath("//input[@id='btnSubmit']")); 24 25 btn.click(); 26 27 System.out.println("Page title is: " + driver.getTitle()); 28 29 } 30 }
上述代码中import的类包在selenium-java-2.40.0.jar文件中,可自行查看源码。