前段時間接觸了selenium,開始使用selenium IDE來進行驗證測試,可是有個用例怎麼都沒法獲取到element,換了XPATH,CSS等都失敗了。折騰了很久,最終在羣裏問了大神雲層,大神建議使用selenium2也就是WebDriver,而且給我提供了個視頻的連接,今後我也走上了跟webdriver親密接觸的康莊大道。web
找來My Eclipse,JDK,firefox,selenium standalone搭了個環境,拿百度頁面試水,果真不出我所料,編譯不經過,一堆報錯,以下是到執行成功所經歷的錯誤:面試
一、找不到firefox。測試
緣由:機器破,我把firefox裝到了D盤,因此....firefox
解決:最好裝到C盤,若是已經做死了,那就寫上以下代碼幫助找到你的firefox。code
System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");視頻
二、JDK版本低ip
緣由:檢查後發現我裝了JDK1.6,版本低了。element
解決:再裝個JDK1.7,經過添加到Libraries裏就OK了。selenium
三、selenium standalone版本過高編譯
緣由:......
解決:下載個slenium standalone的jar包,再關聯
四、firefox版本過高
緣由:可怕的版本問題
解決:下載了firefox32.0.1的版本,自定義安裝,裝的時候不安裝更新模塊,今後無憂了。
五、click無效
緣由:估計是找不到元素
解決:百度了幾種方法,嘗試了下,發現經過傳送ENTER鍵的方法有效,以下爲代碼:
driver.findElement(By.id("kw")).sendKeys(Keys.ENTER);
所有代碼以下:
import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class Basic { public static void main(String[] args){ //配置firefox的所在目錄 System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //新建一個WebDriver的類 WebDriver driver = new FirefoxDriver(); //調用firefox打開百度頁面 driver.navigate().to("https://baidu.com.cn"); //在搜索框中輸入中國 driver.findElement(By.id("kw")).sendKeys("中國"); driver.findElement(By.id("kw")).sendKeys(Keys.ENTER); //以下爲click無效的另外一種方法,可是沒起到做用 //driver.findElement(By.id("su")).findElement(By.xpath("..")).click(); //driver.findElement(By.id("su")).click(); } }