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)
最新文章
- Ubuntu下配置apache开启https
- C# Bitmap 复制
- poj1847 最短路
- 使用.NET读取exchange邮件
- wget 怎么下载https的连接错误: Unable to establish SSL connection
- socket编程学习
- WPF Command Binding
- 集合引入(ArrayList、LinkedList)
- Unity3D GUI学习之GUILayout控件及使用
- Swift语言Auto Layout入门教程:上篇
- 十天学Linux内核之第三天---内存管理方式
- 用纯css改变select的下拉菜单
- 201521123072《Java程序》第二周总结
- MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结🙄
- oracle获取表字段属性
- phone number
- 国内最全的Spring Boot系列之二
- 高速上手C++11 14 笔记2
- 各种软件的安装教程centos mysql tomcat nginx jenkins jira 等等
- nodejs爬虫数据存入mysql
热门文章
- Android学习记录(6)—将java中的多线程下载移植到Android中(即多线程下载在Android中的使用)③
- 《Cracking the Coding Interview》——第12章:测试——题目3
- USACO Section1.3 Prime Cryptarithm 解题报告
- 【Validation】林轩田机器学习基石
- mongoDB坑
- 常用模块(sys)
- Python处理Sqlite3数据库
- 用archlinux作为日常开发机的感受
- 哈希UVALive 6326 	Contest Hall Preparation
- 基于eclipse+maven创建web工程