python + selenium + firefox 自定义配置文件启动浏览器

网上资源参差不齐,找了很多文件,直接上代码,后续深究继续补充,上代码:

 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模块的书籍

posted @ 2020-05-13 09:45  黑山老道  阅读(1631)  评论(0编辑  收藏  举报