目标:初始化一个webdriver实例对象driver,然后打开和关闭浏览器。
前置条件:
需要去下载一个driver插件geckodriver.exe, 下载地址https://github.com/mozilla/geckodriver/releases,下载好这个exe文件后,把这个文件放到你的python安装目录下,例如:C:\Python27\geckdriver.exe。
在Selenium官方网站,可以下载最新发布的不同浏览器的插件支持文件,IE(IEDriverServer.exe)、Chrome(chromedriver.exe),下载的时候注意下,IE有32位和64位下载文件,chrome目前暂时只有32bit一个文件。下载好了,放到C:\Python27,和python.exe在同一级目录下。
由于国内网络一般无法直接方法Selenium站点,所以自行百度。
使用编译器:Pycharm
一、火狐浏览器
from selenium import webdriver # 导入webdriver包
driver = webdriver.Firefox() # 初始化一个火狐浏览器实例:driver
driver.maxmize_window() # 最大化浏览器
driver.get("https://www.baidu.com") #通过get()方法,打开一个url站点
driver.quit() #关闭并退出浏览器
二、Chrome浏览器
from selenium import webdriver
driver = webdriver.Chrome()
driver.maxmize_window() # 最大化浏览器
driver.implicitly_wait(8) # 设置隐式时间等待
driver.get("https://www.baidu.com")
driver.quit()
三、IE浏览器
from selenium import webdriver
driver = webdriver.Ie()
driver.maxmize_window()
driver.implicitly_wait(8)
driver.get("https://www.baidu.com")
driver.quit()
注意:可能出现的报错
Exception: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.
解决办法:Internet选项->安全; 把Internet站点,本地Intrant,受信任站点 三个地方的安全界面都设置相同等级,例如都设置中; 再次运行代码就可以用IE打开百度了。
参考文章:
三大浏览器driver下载:
1.chrome浏览器:
对于chrome浏览器,有时候会有闪退的情况,有时候也许是版本冲突的问题,我们要对照着这个表来对照查看是不是webdriver和chrome版本不对应
点击下载chrome的webdriver:http://chromedriver.storage.googleapis.com/index.html
点击下载chrome的历史版本:https://www.chromedownloads.net/
2.firefox浏览器
对于火狐浏览器,对应的driver只能兼容47版本一下的,大家可以试一下自己下载的火狐浏览器能否使用我这个driver运行,无法运行的话在使用我这个版本的火狐浏览器。
这里把低版本的火狐安装包和driver地址如下:
链接:http://pan.baidu.com/s/1bECua6 密码:nkue
3.IE浏览器
ie浏览器的版本对应这个并没有找到具体所对应的版本,不过据我实测的结果,一般用2.5版本比较好一些(ie11)
我们通过这个地址来下载:http://selenium-release.storage.googleapis.com/index.html
除此之外,还要通过:工具> internet选项>安全
在里面如图的四个选项,把保护模式设置为全部勾选或者全部不勾选