我只能說因為版本沖突,簡直太折騰了,而搜了無數個博友的帖子才找到正確條案,就不能好好的寫篇文章嗎?
最近真的是太閑太閑了,平時沒事總得搞點技術,不然心里感覺好空虛,
最近看上了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();//退出瀏覽器 } }
運行: