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行代碼而已,主要是弄清楚原理
Selenium2+python自動化18-加載Firefox配置