背景:经常性的,在项目中我们需要打开不同配置的不同浏览器。在学习selenium的过程中,打开本地火狐和本地chrome是一个稍微麻烦的事情,网上的java版本资料很多,但是python版的不多,在这里,我研究了一份关于python版Selenium打开浏览器的文档,供自己备注,也希望给大家一些参考。
1.打开默认的火狐
browser = webdriver.Firefox()
2.打开本地配置的火狐
from selenium import webdriver
from time import sleep
import os
profileDir = “C:Users\\cui\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\vrpxe102.default”
profile = webdriver.FirefoxProfile(profileDir)
browser = webdriver.Firefox(profile)
解析:
第一部分是给出本地的配置地址,这个地址在火狐浏览器的安装目录下,相对路径即为Firefox\\Profiles\\vrpxe102.default。也就是 .default文件。各人的浏览器下这个.default文件的名字不一样。
第二部分,即是读取本地配置。第三部分,即是利用这个本地的配置,打开本地火狐。
3.打开默认的chrome
在python版的Webdriver中要打开chrome浏览器,需要安装chromedriver.exe。。
将这个chromedriver.exe放置在chrome的安装目录下 相对路径为 …\Google\Chrome\Application\,然后设置path环境变量,把chrome的安装目录地址放入path变量中。我的安装目录是C:\Program Files\Google\Chrome\Application,也即是在path变量的最后,加上此目录即可,然后尝试在python中运行
from selenium import webdriver
driver = webdriver.Chrome()
若不报错,即代表安装成功。
4.打开本地的Chrome
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from time import sleep
executable_path = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe" //指定chromediver的位置,如果在默认路径,这两行可以省略。
os.environ["webdriver.chrome.driver"] = executable_path
options = webdriver.ChromeOptions() //定义配置对象
options.add_argument("--user-data-dir="+r"C:/Users/cui/AppData/Local/Google/Chrome/User Data/")
//指定用户的配置地址,并加载至配置对象中。
browser = webdriver.Chrome(executable_path,chrome_options=options)
//此处注意,有两个参数,后面那个参数,一定要写成 chrome_options=XX的形式,否则运行报错。
备注:chrome的用户配置数据,在c盘的user用户下,可能有些人不能找到此目录,这是因为AppDate文件夹是默认隐藏的,需要进入文件夹选项去设置一下即可。