selenuim资料与环境搭建

安装

pip install -U selenium

安装浏览器驱动

用不同的浏览器需要安装不同的驱动:
Firefox:自带,不用下载驱动。
IE: InternetExplorerDriver根据系统下载对应驱动

把驱动防止的路径添加到path中

设置IE的 Protected Mode

打开IE的选项->选择安全Tab->选择每个zone

保证 Enable Protected Mode (启用保护模式)这个选项,在所有zone中保持一致,要不全部勾选,要不全部不勾选。

如果IE驱动放在当前文档的目录中,则解释器可能找不到,我们需要指定IEdriver的路径:

# 获得 IEDriverServer 的目录
dir = os.path.dirname(__file__)
ie_driver_path = dir + "\IEDriverServer.exe"
# 创建一个 Internet Explorer session
driver = webdriver.Ie(ie_driver_path)
driver.implicitly_wait(30)
driver.maximize_window()

更多的信息

注:IE驱动只适用windows。

Chrome

下载驱动ChromeDriver ,查看安装的chrome版本,下载对应的驱动版本。
下载完后解压,按理说应该把ChromeDriver的路径添加到path中,我这里放入Python的根目录下面,因为添加了Python的路径到path中,所以放在Python的根目录下,就相当于已经在path环境变量中了。
添加到了环境变量 Path所设置的目录,可以将 chromedriver.exe放到 C:\Python27\目录下。

chromedriver与chrome需要对应的版本, chromedriver更新日志中有写当前chromedriver版本对应的Chrome版本。

#coding = utf-8

from selenium import webdriver
browser = webdriver.Chrome(xecutable_path='E:\selenium_drivers\chromedriver.exe')
browser.get("http://www.baidu.com")

browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()

注:适用Windows, Linux, and Mac operating systems.

问题

无法启动IE浏览器

通过selenium webdriver启动IE 浏览器,出现以下错误:

WebDriverException: Message: u'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/受信任的站定/受限制的站点中的启用保护模式全部去掉勾

方法二

在生成webdriver对象之前,修改浏览器配置信息,如下:

#coding=utf-8
from selenium import webdriver

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings'] = True

driver = webdriver.Ie()
driver.get("http://www.baidu.com")

driver.quit()

firefox浏览器崩溃:

解决方法:

  1. 地址栏输入 about:crashes 根据崩溃时间打开崩溃报告
  2. http://mozilla.com.cn/forum.php?mod=viewthread&tid=34109&highlight=flash

chrome报错

xxxx selenium chrome Errno 10054

驱动版本与当前chrome浏览器版本不匹配,重新下载chromedriver对应版本。

第一个自动化脚本

#coding=utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Selenium2")
driver.find_element_by_id("su").click()
driver.quit()

相关资料

猜你喜欢

转载自www.cnblogs.com/for-you/p/9166262.html