Selenium使用ChromeOptions啟動參數


Selenium是一個支持多平台+多瀏覽器+多版本的瀏覽器自動化測試框。
Selenium在啟動瀏覽器時可以通過desired_capbilities參數來指定需要啟動的平台、瀏覽器、版本及瀏覽器啟動參數。
ChromeOptions是chromedriver支持的瀏覽器啟動選項。

from selenium import webdriver
options = webdriver.ChromeOptions()

options常用屬性及方法為:

  • binary_location='':指定Chrome瀏覽器路徑
  • debuger_address=':指定調試路徑
  • headless: 無界面模式
  • add_argument():添加啟動參數
  • add_extension:添加本地插件
  • add_experimental_option:添加實驗選項
  • to_capablilities:將options轉為標准的capablitiies格式

通過add_argument()可以添加啟動參數,如初始化窗口尺寸,隱身模式等。

options.add_argument('headless')  # 無界面啟動,也可以直接設置options.headless=True
driver = webdriver.Chrome(options=options)    # 相當於 driver = webdriver.Chrome(desired_capabilities=options.to_capablities())

然而由於Chrome瀏覽器及chromedriver版本不斷更新,筆者發現有些參數在Mac 80版Chrome + 80版chromedriver中無法生效

ChromeOptions參數參考

生效的ChromeOptions參數

# 無界面模式
options.add_argument('headless')

# 指定用戶客戶端-模擬手機瀏覽
options.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"')

# 禁用圖片加載
options.add_argument('blink-settings=imagesEnabled=false')

# 隱身模式
options.add_argument('incognito')

# 自動打開開發者工具
options.add_argument("auto-open-devtools-for-tabs")

# 設置窗口尺寸,注意寬高之間使用逗號而不是x
options.add_argument('window-size=300,600')

# 設置窗口啟動位置(左上角坐標)
options.add_argument('window-position=120,0')

# 禁用gpu渲染
options.add_argument('disable-gpu')

# 全屏啟動
options.add_argument('start-fullscreen')

# 全屏啟動,無地址欄
options.add_argument('kiosk') 

 # 啟動時,不激活(前置)窗口
options.add_argument('no-startup-window') 
...

無效的參數

options.add_argument('--start-maximized')  # 最大化啟動,無效
options.add_argument('url=https://www.baidu.com/')  # 設置啟動的url,無效
options.add_argument('disable-infobars')  # 禁用inforbar,無效
options.add_argument('hide-scrollbars')  # 隱藏滾動條,無效

原因尚不清楚,有知道或解決方法的歡迎留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM