selenium+java+chrome環境搭建

我只能說由於版本衝突,簡直太折騰了,而搜了無數個博友的帖子才找到正確條案,就不能好好的寫篇文章嗎?html

最近真的是太閒太閒了,平時沒事總得搞點技術,否則內心感受好空虛,java

最近看上了selenium,因此試一下node

沒啥目標web

頭一篇這個環境搞的崩潰了,都是版本衝突,目前爲止,我還未有解決firefox與selenium的版本衝突問題chrome

這是一篇只講chrome的文章api

一、selenium下載最新版本,我在官網下載的瀏覽器

http://selenium-release.storage.googleapis.com/3.5/selenium-java-3.5.2.zip若是人品好,通常是下載得成功的網絡

下載後解壓框架

client-combined-3.5.2-nodeps-sources 是源代碼,若是到時候在eclipse中查看源碼的話,能夠到時候再加進去咯eclipse

二、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,度娘一搜就有

三、最後一步代碼,只是簡單的調用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();//退出瀏覽器
	}
}

  

 運行:

相關文章
相關標籤/搜索