我只能說因為版本沖突,簡直太折騰了,而搜了無數個博友的帖子才找到正確條案,就不能好好的寫篇文章嗎?
最近真的是太閑太閑了,平時沒事總得搞點技術,不然心里感覺好空虛,
最近看上了selenium,所以試一下
沒啥目標
頭一篇這個環境搞的崩潰了,都是版本沖突,目前為止,我還未有解決firefox與selenium的版本沖突問題
這是一篇只講chrome的文章
1、selenium下載最新版本,我在官網下載的
http://selenium-release.storage.googleapis.com/3.5/selenium-java-3.5.2.zip如果人品好,一般是下載得成功的
下載后解壓

client-combined-3.5.2-nodeps-sources 是源代碼,如果到時候在eclipse中查看源碼的話,可以到時候再加進去咯
2、chrome瀏覽器與chromedriver的區別
瀏覽器不用說了,就是我們平常使用的,我這里沒有特意講版本,就是我以前安裝過的

我是以v55來找chromedriver版本的
那么,chromedriver是什么呢?
ChromeDriver是Chromium team開發維護的,它是實現WebDriver有線協議的一個單獨的服務。ChromeDriver通過chrome的自動代理框架控制瀏覽器
就是說它是chrome的一個插件,是為了webDriver調用時控制可以控制瀏覽器自動操作的一個東東了
那么要想讓selenium成功的操作chrome瀏覽器,那么必須下載chromeDriver驅動包
這里問題就來了:
chrome瀏覽器版本與chromeDriver驅動包版本是要注意的,以下摘抄自網絡,出處:http://blog.csdn.net/huilan_same/article/details/51896672
下載地址:http://chromedriver.storage.googleapis.com/index.html
我下載的是v2.28,下載地點是在CSDN,度娘一搜就有

3、最后一步代碼,只是簡單的調用test
package seleniumLearn1;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Test {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","E:\\webDriver\\chromedriverV2.28.exe");//chromedriver服務地址
WebDriver driver =new ChromeDriver(); //新建一個WebDriver 的對象,但是new 的是FirefoxDriver的驅動
driver.get("http://www.baidu.com");//打開指定的網站
driver.findElement(By.id("kw")).sendKeys(new String[] {"hello"});//找到kw元素的id,然后輸入hello
driver.findElement(By.id("su")).click(); //點擊按扭
try {
/**
* WebDriver自帶了一個智能等待的方法。
dr.manage().timeouts().implicitlyWait(arg0, arg1);
Arg0:等待的時間長度,int 類型 ;
Arg1:等待時間的單位 TimeUnit.SECONDS 一般用秒作為單位。
*/
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
} catch (Exception e) {
e.printStackTrace();
}
/**
* dr.quit()和dr.close()都可以退出瀏覽器,簡單的說一下兩者的區別:第一個close,
* 如果打開了多個頁面是關不干凈的,它只關閉當前的一個頁面。第二個quit,
* 是退出了所有Webdriver所有的窗口,退的非常干凈,所以推薦使用quit最為一個case退出的方法。
*/
driver.quit();//退出瀏覽器
}
}
運行:

