網上資源參差不齊,找了很多文件,直接上代碼,后續深究繼續補充,上代碼:
1 def gen_driver(self) -> Firefox: 2 """ 3 生成一個driver 4 generate a driver 5 :return: webdriver 6 """ 7 # 火狐配置文件, 8 # 通過加載火狐配置文件,實現免登陸訪問網站(就是已經在瀏覽器中保存好登陸信息如cookies之類的,再次訪問就不用重新登錄) 9 # 創建一個FirefoxProfile實例 10 profile = FirefoxProfile() 11 # selenium firefox設置代理(默認是0,就是直接連接;1就是手工配置代理) 12 profile.set_preference('network.proxy.type', 0) 13 # 指定下載路徑 14 profile.set_preference('browser.download.dir', self.excel_file_dir) 15 # 設置成 2 表示使用自定義下載路徑;設置成 0 表示下載到桌面;設置成 1 表示下載到默認路徑 16 profile.set_preference('browser.download.folderList', 2) 17 # 在開始下載時是否顯示下載管理器 18 profile.set_preference('browser.download.manager.showWhenStarting', False) 19 # 設置正確的文件的Content_Type 20 profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/octet-stream') 21 # 設置瀏覽器語言 22 profile.set_preference("intl.accept_languages", "zh-CN") 23 24 # 驅動選項 25 options = FirefoxOptions() 26 # 參數為HEADLESS時,瀏覽器為無頭模式 27 if self.view == HEADLESS: 28 options.add_argument('--headless') 29 30 # 以代理方式方式啟動firefox(配置文件,選項參數) 31 driver = Firefox( 32 firefox_profile=profile, options=options, 33 ) 34 # 隱式等待 35 driver.implicitly_wait(10) 36 self.wait = WebDriverWait(driver, 10, 0.1) 37 38 return driver
有興趣的博友,可以找一找專門講解selenium模塊的書籍