微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium2+python自动化18-加载Firefox配置

前言
有小伙伴在用脚本启动浏览器时候发现原来下载的插件不见了,无法用firebug在打开的页面上继续定位页面元素,调试起来不方便 。

加载浏览器配置,需要用FirefoxProfile(profile_directory)这个类来加载,

profile_directory既为浏览器配置文件的路径地址

 

一、遇到问题

1.在使用脚本打开浏览器时候,发现右上角原来下载的插件firebug不见了,到底去哪了呢?

2.用脚本去打开浏览器时候,其实是重新打开了一个进程,跟手动打开浏览器不是一个进程。

所以没主动加载插件,不过selenium里面其实提供了对应的方法去打开,只是很少有人用到。

二、FirefoxProfile

1.要想了解selenium里面API的用法,最好先看下相关的帮助文档打开cmd窗口,

输入如下信息:
-》python

-》from selenium import webdriver

-》help(webdriver.FirefoxProfile)



Help on class FirefoxProfile in module

selenium.webdriver.firefox.firefox_profile:

class FirefoxProfile(builtin.object)
| Methods defined here:
|
| init(self, profile_directory=None)
| Initialises a new instance of a Firefox Profile
|
| :args:
| - profile_directory: Directory of profile that you want to use.
| This defaults to None and will create a new
| directory when object is created.

2.翻译过来大概意思是说,这里需要profile_directory这个配置文件路径的参数

3.profile_directory=None,如果没有路径,认为None,启动的是一个新的,

有的话就加载指定的路径。

三、profile_directory

1.问题来了:Firefox的配置文件地址如何找到呢?

2.打开Firefox点右上角设置>?(帮助)>故障排除信息>显示文件

3.打开后把路径复制下来就可以了:

C:\Users\xxx\AppData\Roaming\Mozilla\Firefox\Profiles\1x41j9of.default


 

四、启动配置文件

1.由于文件路径存在字符:\ ,反斜杠在代码里是转义字符,这个有点代码基础的应该都知道。

不懂什么叫转义字符的,自己翻书补下基础吧!

2.遇到转义字符,为了不让转义,有两种处理方式:

第一种:\ (前面再加一个反斜杠)

第二种:r”\"(字符串前面加r,使用字符串原型)


 

五、参考代码

# coding=utf-8
from selenium import webdriver
# 配置文件地址
profile_directory = r'C:\Users\xxx\AppData\Roaming\Mozilla\Firefox\Profiles\1x41j9of.default'
# 加载配置配置
profile = webdriver.FirefoxProfile(profile_directory)
# 启动浏览器配置
driver = webdriver.Firefox(profile)

 

本章很简单,多加2行代码而已,主要是弄清楚原理。

在学习过程中有遇到疑问的,可以加selenium(python+java) QQ群交流:646645429

《selenium+python高级教程》已出书:selenium webdriver基于Python源码案例

(购买此书送对应PDF版本)

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐