『心善淵』Selenium3.0基礎 — 22、使用瀏覽器載入項配置實現用戶免登陸
- 2021 年 7 月 9 日
- 筆記
- 測試基礎必會技能 - Selenium測試框架
1、瀏覽器的載入項配置
在很多情況下,我們在登錄網站的時候,瀏覽器都會彈出一個是否保存登錄帳號的資訊。如果我們選擇保存,那麼我們在下次登錄時就不用再次輸入帳號,直接免登錄了。
在我們實際的測試過程中,測試註冊登錄只是其中的一部分流程,然而我們用Selenium打開網站的時候,每次都需要重新登錄,就非常麻煩。那麼在Selenium中能不能實現免登陸操作?
當然是可以的,只需要對要打開的瀏覽器做載入項配置就可以了。
說明一下為什麼Selenium每次代開網站都需要重新登錄。
使用Selenium的webdriver打開的瀏覽器的時候,是用腳本去打開瀏覽器的。其實是重新打開了一個進程,跟手動打開瀏覽器不是一個進程,所以一些資訊不會被記錄進去。
2、載入Firefox配置
(1)說明:
Firefox瀏覽器載入瀏覽器配置,需要用FirefoxProfile(profile_directory)這個方法創建一個配置類。
profile_directory即為瀏覽器配置文件的路徑地址。
怎樣找到profile_directory?
打開Firefox瀏覽器點右上角設置 —>?(幫助) —> 故障排除資訊 —> 顯示文件夾
到如下圖介面:

(2)示例:
"""
1.學習目標:
了解使用火狐瀏覽器實現免登陸
2.操作步驟
1.手動登錄網站,點擊記住密碼
2.找火狐瀏覽器配置文件夾
火狐瀏覽器--->設置--->幫助--->故障排除資訊--->配置文件夾
將文件夾路徑複製保存
3.將配置文件夾路徑保存到程式碼
profile_directory = 配置文件夾路徑
4.實例webdriver中的火狐瀏覽器profile
profile = webdriver.FirefoxProfile(firefox_profile=配置文件夾路徑)
5.啟動火狐瀏覽器,並傳入配置資訊
driver = webdriver.Firefox(profile)
6.打開可以免登陸的地址
driver.get(網站)
3.需求
使用火狐瀏覽器實現163郵箱免登陸
"""
# 1.導入selenium
from selenium import webdriver
from time import sleep
# 2.找火狐瀏覽器配置文件夾
# 火狐瀏覽器--->設置--->幫助--->故障排除資訊--->配置文件夾
# 3.將配置文件夾路徑保存到程式碼
# 如果不加r,路徑中的\都要換成\\
profile_directory = r"C:\Users\L\AppData\Roaming\Mozilla\Firefox\Profiles\6pv0pces.default"
# 4.實例webdriver中的火狐瀏覽器profile
profile = webdriver.FirefoxProfile(profile_directory)
# 5.啟動火狐瀏覽器,並傳入配置資訊
driver = webdriver.Firefox(firefox_profile=profile)
# 6.打開可以免登陸的地址
driver.get("//mail.163.com/")
sleep(5)
# 7.關閉瀏覽器
driver.quit()
3、載入Chrome配置
與Firefox瀏覽器原理相同,在Chrome瀏覽器中也可以實現。
不過有的版本實現不了。
(1)環境:
- 系統環境:Windows10
- Python版本:3.7.7
- Chrome瀏覽器版本:74.0.3729.131(正式版本) (32 位)
(2)操作步驟:
- 獲取個人資料路徑
# Chrome安裝路徑 user-data-dir='C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\'注意:這裡
User Data目錄,有很多人是找不到了,可能就無法實現了。 - 載入配置數據
# 配置Google瀏覽器載入項 options = webdriver.ChromeOptions() options.add_argument(user_data_dir) - 將載入項配置到啟動瀏覽器中
driver = webdriver.Chrome(options=options)
(3)示例:
"""
1.學習目標
了解使用Google瀏覽器實現帳號免登陸
2.操作步驟(語法)
2.1 手動登錄網站,點擊記住密碼
2.2 找到Google瀏覽器個人資料路徑
一定要注意格式:
user_data_dir =
'--user-data-dir=C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\'
2.3 配置Google瀏覽器載入項
option = webdriver.ChromeOptions()
option.add_argument(路徑)
2.4 打Google瀏覽器並且傳入options
driver=webdriver.Chrome(options=options)
2.5 打開可以免登陸的地址
driver.get(網站)
3.需求
使用Google瀏覽器實現163郵箱免登陸
"""
# 1.導入selenium
from selenium import webdriver
from time import sleep
# 2.獲取Google瀏覽器個人資料路徑
user_data_dir = r"--user-data-dir=C:\Users\L\AppData\Local\Google\Chrome\User Data"
# 3.配置Google瀏覽器載入項
options = webdriver.ChromeOptions()
options.add_argument(user_data_dir)
# 4.打開Google瀏覽器並且傳入options
driver = webdriver.Chrome(options=options)
# 5.打開可以免登陸的地址
driver.get("//mail.163.com/")
sleep(5)
# 6.關閉瀏覽器
driver.quit()
注意:
在適用上面腳本實現使用Google瀏覽器實現帳號免登陸的時候,要關閉所有打開的Google瀏覽器窗口才能正常啟動。
否則會報錯:
InvalidArgumentException:無效參數異常。


