一爷恳、下載驅(qū)動器
根據(jù)自己selenium版本付秕、操作系統(tǒng)版本,下載對應(yīng)版本的驅(qū)動即可锉矢。有需要可以把驅(qū)動的路徑加入到環(huán)境變量中梯嗽。各瀏覽器的驅(qū)動下載地址如下:
Chrome
chrome的webdriver:http://chromedriver.storage.googleapis.com/index.html
Firefox
Firefox驅(qū)動下載地址為:https://github.com/mozilla/geckodriver/releases/
IE
IE瀏覽器驅(qū)動下載地址為:http://selenium-release.storage.googleapis.com/index.html
python的話,下載里面的IEDriverServerxxx.zip即可沽损,這個是區(qū)分32和64位系統(tǒng)的灯节。需要注意的是,如果要打開IE瀏覽器的話绵估,需要在瀏覽器的Internet選項中的安全頁里有4個安全選項炎疆,Internet、本地Internet国裳、受信任的站點形入、受限制的站點,這4個里面都有一個啟用保護(hù)模式缝左,都需要勾選上才可以
二亿遂、初始化配置示例(Chrome驅(qū)動)
定義一個配置函數(shù),然后直接調(diào)用即可渺杉。
def InitialChromeBrowser():
# 驅(qū)動器地址
f = './chromedriver_for_mac_90'
# chrome_options 初始化選項
chrome_options = webdriver.ChromeOptions()
# 設(shè)置瀏覽器初始 位置x,y & 寬高x,y
# chrome_options.add_argument(f'--window-position={217},{172}')
# chrome_options.add_argument(f'--window-size={1200},{1000}')
# 關(guān)閉自動測試狀態(tài)顯示 // 會導(dǎo)致瀏覽器報:請停用開發(fā)者模式
# window.navigator.webdriver還是返回True,當(dāng)返回undefined時應(yīng)該才可行崩掘。
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
# 關(guān)閉開發(fā)者模式
chrome_options.add_experimental_option("useAutomationExtension", False)
# 禁止圖片加載
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
# 設(shè)置中文
chrome_options.add_argument('lang=zh_CN.UTF-8')
# 更換頭部
chrome_options.add_argument(
'user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"')
# 隱藏瀏覽器窗口
# chrome_options.add_argument('--headless')
# 部署項目在linux時,其驅(qū)動會要求這個參數(shù)
# chrome_options.add_argument('--no-sandbox')
# 創(chuàng)建瀏覽器對象
driver = webdriver.Chrome(f, options=chrome_options)
# 設(shè)置執(zhí)行js代碼轉(zhuǎn)換模式少办,隱藏自動化軟件特征標(biāo)識 window.navigator.webdriver
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})""",
})
# 打開網(wǎng)站 測試
# driver.get('https://www.baidu.com/')
return driver
使用方法:
driver = InitialChromeBrowser()
driver.get("https://www.baidu.com/")