Selenium+java環境搭建和預設載入使用者配置
本章記錄了火狐谷歌的環境搭建以及測試第一步-開啟連結,還解決了谷歌和火狐的使用者配置記錄問題,防止每次開啟都是一個全新的連結,一個沒有外掛配置的連結。
一、環境搭建
火狐:
1.瀏覽器版本,最新版本;
2.下載最新geckodriver.exe 地址:https://github.com/mozilla/geckodriver/releases ,我是windows64位,所以下載 geckodriver-v0.21.0-win64.zip 版本;
3.然後吧壓縮包解壓到專案跟目錄下,我放到了F:\MSwork\tasknew\geckodriver-v0.21.0-win64
4.一般啟動的firefox,會是一個全新的driver,不帶任何的外掛,為了解決這問題,我們需要自己定義一個火狐使用者來記錄我們需要的外掛和習慣,比如各類外掛,記住密碼,不再提示,允許麥克風訪問等記錄.。為了實現上述描述,我們需要以下配置:
1.開啟cmd,進入到firefox安裝目錄 (cd/ 進入根目錄 cd C:/Program Files/Mozilla Firefox 進入火狐安裝目錄 ,目錄路徑改成自己的)
2.執行如下命令 firefox.exe -ProfileManager -no-remote (直接複製就行)
3.在彈出的profile視窗,點選create profile按鈕,輸入profile的名字,如selenium
4.點選 start firefox
5.在啟動的firefox中安裝自己需要的外掛 (也可以登入使用者賬號修改使用者習慣)
5.上程式碼:
//火狐瀏覽器
String driverPath=System.getProperty("user.dir")+"/geckodriver-v0.21.0-win64/geckodriver.exe";
System.setProperty("webdriver.gecko.driver",driverPath);
System.setProperty("webdriver.firefox.bin","C:\\Program Files\\Mozilla Firefox\\firefox.exe");//路徑為電腦安裝的火狐的exe啟動檔案路徑
ProfilesIni allProfiles = new ProfilesIni();//這一步是為了儲存使用者的外掛以及瀏覽器使用者記錄資訊,比如外掛或者記住密碼,不再提示資訊等.
FirefoxProfile profile = allProfiles.getProfile("selenium"); //selenium為剛才配置的路徑 (第4步)
WebDriver driver = new FirefoxDriver(profile);
driver.manage().window().maximize();//視窗最大化
driver.get("https://blog.csdn.net/qq_37581708");//開啟測試地址
谷歌:
1.下載對應版本的chromedriver驅動檔案,具體版本請對照文章底部的對應關係表
將WebDriver複製到Chrome的安裝目錄
- 安裝目錄可以通過在Chrome位址列中輸入
chrome://version/
來檢視 - 一般預設的安裝目錄是
C:\Program Files (x86)\Google\Chrome
- 即將
chromedriver.exe
檔案複製到C:\Program Files (x86)\Google\Chrome\Application
下
- 安裝目錄可以通過在Chrome位址列中輸入
將WebDriver的路徑複製到系統環境變數PATH中
- 即將
C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe
新增到PATH中
- 即將
2. 為chrome配置預設使用者的配置資訊,如書籤,不在提示,擴充套件程式等;直接上程式碼
System.setProperty("webdriver.chrome.bin", "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe");
System.setProperty("webdriver.chrome.driver", "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe"); //chromedriver.exe的安裝路徑
//設定Webdriver啟動chrome為預設使用者的配置資訊(包括書籤、擴充套件程式等)
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:/Users/acer/AppData/Local/Google/Chrome/User Data"); //第一步chrome://version/中的對應資訊
WebDriver driver = new ChromeDriver(options);
driver.manage().window().maximize();//視窗最大化
driver.get("https://blog.csdn.net/qq_37581708");//開啟測試地址
chromedriver版本 | 支援的Chrome版本 |
---|---|
v2.37 | v64-66 |
v2.36 | v63-65 |
v2.35 | v62-64 |
v2.34 | v61-63 |
v2.33 | v60-62 |
v2.32 | v59-61 |
v2.31 | v58-60 |
v2.30 | v58-60 |
v2.29 | v56-58 |
v2.28 | v55-57 |
v2.27 | v54-56 |
v2.26 | v53-55 |
v2.25 | v53-55 |
v2.24 | v52-54 |
v2.23 | v51-53 |
v2.22 | v49-52 |
v2.21 | v46-50 |
v2.20 | v43-48 |
v2.19 | v43-47 |
v2.18 | v43-46 |
v2.17 | v42-43 |
v2.13 | v42-45 |
v2.15 | v40-43 |
v2.14 | v39-42 |
v2.13 | v38-41 |
v2.12 | v36-40 |
v2.11 | v36-40 |
v2.10 | v33-36 |
v2.9 | v31-34 |
v2.8 | v30-33 |
v2.7 | v30-33 |
v2.6 | v29-32 |
v2.5 | v29-32 |
v2.4 | v29-32 |