PySe-004-Se-WebDriver 启动浏览器之二 - Chrome

上篇文章简略讲述了 WebDriver 启动 firefox 浏览器的示例脚本源码,具体请参阅: PySe-003-Se-WebDriver 启动浏览器之一 - Firefox

此文主要讲述在 MacOX 系统下如何配置 Chrome 的测试环境,及如何通过 Python 启动 Chrome 浏览器。

 

一、Chrome 环境配置

因 WdbDriver 仅仅对 Firefox 提供了原生支持,因而 WebDriver 启动 Chrome 浏览器同 windows 启动 chrome 一样,需要对应的 chromedriver 下载。如下图所示,下载对应的版本即可。

下载后解压,将其中的 chromedriver 拷贝至 /usr/bin 目录下(拷贝时需要输入管理员密码),同时输入如下的命令修改其执行权限:

// 赋予 chromedriver 可执行权限,不允许读写
chmod 111 /usr/bin/chromedriver

输入如下命令,查看 chromedriver 的执行权限,确保 chromedriver 可执行(r-读;w-写;x-执行)。

Aaron-test:pyse aaron$ ls -l /usr/bin/chromedriver 
---x--x--x  1 icson  staff  10710524  8  6 18:08 /usr/bin/chromedriver

若 chromedriver 无相应的执行权限,执行自动化测试脚本时会提示如下所示的权限信息,提示用户无响应的执行权限,如下所示:

Aaron-test:pyse aaron$ python pyse_demo_chrome.py 
Traceback (most recent call last):
  File "pyse_demo_chrome.py", line 6, in <module>
    browser = webdriver.Chrome()
  File "/Library/Python/2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 60, in __init__
    self.service.start()
  File "/Library/Python/2.7/site-packages/selenium/webdriver/chrome/service.py", line 78, in start
    os.path.basename(self.path), docs_msg)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

至此,MacOX 下 WebDriver 执行 chrome 浏览器环境配置完成。

 

二、启动 Chrome 浏览器

下面以实际的操作实例演示 WebDriver 启动 Chrome 浏览器。具体操作流程如下所示:

  1. 启动 chrome 浏览器
  2. 打开 百度
  3. 搜索框输入 范丰平
  4. 点击 搜索 按钮

pyse_demo_chrome.py 的内容如下所示:

 1 #!/usr/local/bin/python
 2 # -*- coding: utf-8 -*-
 3 
 4 from selenium import webdriver
 5 
 6 browser = webdriver.Chrome()
 7 
 8 browser.get("http://www.baidu.com/")
 9 
10 txt_search_key = browser.find_element_by_id("kw")
11 
12 txt_search_key.clear()
13 
14 txt_search_key.send_keys(u"范丰平")
15 
16 btn_search = browser.find_element_by_id("su")
17 
18 btn_search.click()
19 
20 # browser.close()
21 
22 # browser.quit()

  命令行输入 python pyse_demo_chrome.py 的执行结果如下所示:

PS:最后点击搜索结果项的第一个链接,是我手动点击的,程序中没有写,各位小主,可自行尝试一下获取响应的链接点击,采用 WebDriver 查找页面元素的 Link 相关方法。

 

至此, PySe-004-Se-WebDriver 启动浏览器之二 - Chrome 顺利完结,希望此文能够给初学 Python + Selenium 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

 

posted @ 2015-08-06 19:37  范丰平  Views(2146)  Comments(1Edit  收藏  举报