本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器。要用selenium打开fiefox浏览器。首先需要去下载一个driver插件geckodriver.exe, 下载地址https://github.com/mozilla/geckodriver/releases,下载好这个exe文件后,把这个文件放到你的python安装目录下,例如我的路径为:D:\Program Files (x86)\Python36\geckdriver.exe 。
使用python IDLE 创建一个demo.py文件,写入如下代码:
from selenium import webdriver # 导入webdriver包 dr = webdriver.Firefox() # 初始化一个火狐浏览器实例:driver #dr = webdriver.Chrome() 调用谷歌浏览器 #dr = webdriver.Ie() #调用IE浏览器 dr.maximize_window() # 最大化浏览器 dr.get("https://www.baidu.com") # 通过get()方法,打开一个url站点 dr.quit() #关闭并退出浏览器
方法一:直接F5运行
方法二:打开cmd窗口,通过cd命令进入到demo.py所在的路径,在cmd中输入命令: python demo.py回车
上面两个方法运行代码后,可以看到打开火狐浏览器,打开百度网页,关闭火狐浏览器的效果。
注意:可能会遇到一些报错
1. geckodriver.exe没有放到python安装目录下,这一类报错。
2. python demo.py 执行后,找不到文件,说明没有通过cd命令切换到demo.py所在的文件夹路径。
3.打开火狐浏览器了,但是没有获取到url地址
4.火狐浏览器打开且进入百度网页后关闭火狐浏览器时,提示浏览器遇到一个错误,停止运行了
针对 问题 3、4,我这边是通过降低Firefox浏览器的版本(如果遇到一下这类问题或相关浏览器调用问题,可升级或降低 selenium 和 firefox 的版本 进行兼容,此外还需注意firefox的版本对应驱动geckodriver的映射版本)
总结:
通过上面代码,和本文,基本了解了如何打开和关闭浏览器。如果想打开IE或者Chrome浏览器,也需要下载对应浏览器的driver.exe文件
① 在chrome 下运行脚本,需要将chromedriver.exe 放在chrome浏览器安装目录下
(同时设置用户环境变量path:C:\Users\xxxxxx\AppData\Local\Google\Chrome\Application;)
②2 在ie 下运行脚本,需要将IEDriverServer.exe 放在ie浏览器安装目录下
(同时设置用户环境变量path:C:\Program Files\Internet Explorer ),如果在调用浏览器遇到浏览器保护模式问题,可打开Ie浏览器--工具--Internet选项--安全--internet/本地intarnet/受信任的站点/受限制站点中的 启用保护模式全部勾选或者全部不选的勾去掉
③ 在firefox下运行脚本,直接调用(默认安装路径下)
最后补充附上针对问题3,我这边尝试的:如selenium-3.141.0 版本对应的部分firefox版本及firefox的geckodriver驱动版本
下面是网上找的 版本范围大概对应情况