python selenium 定制啟動Chrome的選項注意事項(十九)


  自動化測試的時候為了避免每個case均需要登錄的操作,所以把登錄后的cookie信息保存下來,在有效期內使用cookie的方式實現登錄操作,為了避免展現太多的登錄操作,需要通過設置瀏覽器的option來改變是否可視化;

  最早采用phantomjs方式來實現,但是在使用phantomjs時候提示瀏覽器已經自帶屬性,所以我們這里不需要再使用phantomjs來實現無界面操作,這個時候需要使用 options.set_headless(headless=True) 設置無界面;

    options = webdriver.ChromeOptions()
    options.set_headless() # 設置啟動無界面化
    driver = webdriver.Chrome(chrome_options=options)  # 啟動時添加定制的選項

  此時通過 chrome_options 選項來添加定制的Chrome 來選項參數,但是此時一直提示“DeprecationWarning: use options instead of chrome_options warnings.warn('use options instead of chrome_options', DeprecationWarning)“ 根據錯誤提示閱讀了下源碼

        if chrome_options:
            warnings.warn('use options instead of chrome_options', DeprecationWarning)
            options = chrome_options

        if options is None:
            # desired_capabilities stays as passed in
            if desired_capabilities is None:
                desired_capabilities = self.create_options().to_capabilities()
        else:
            if desired_capabilities is None:
                desired_capabilities = options.to_capabilities()
            else:
                desired_capabilities.update(options.to_capabilities())

  根據源碼的提示發現使用chrome_options 時會將chrome_options 值傳給options,然后在給一個警告信息,根據錯誤信息已經源碼的注解了解到未來options會取代chrome_options,所以我們只需要chrome_options改成options即可,該問題應該在最近的版本更改的目前我這邊使用的是selenium==3.9.0,有興趣的可以去看下官方文檔,那個版本開始做的此項的修改。


免責聲明!

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



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