下面是一个简单的实例

#coding:utf-8

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('http://www.baidu.com')
assert "百度" in browser.title
elem = browser.find_element_by_id("kw")
elem.send_keys("今日热点")
elem.send_keys(Keys.RETURN)

time.sleep(20)
browser.close()

分析该实例

由于该编码涉及中文,因此在前端声明解码个税为utf-8

#coding:utf-8

 

selenium.webdriver模块提供了一个webdriver的实现, 目前可以支持Firefox, Chrome, IE 和Remote。

Keys模块提供了一些键盘操作,如 Return, F1, ALT 等等

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

 

接着,创建一个浏览器实例Chrome

browser = webdriver.Chrome()

如果创建IE,可以采用以下方式

browser = webdriver.Ie()

当你第一次运行,可能出现错误提示

selenium.common.exceptions.WebDriverException: Message: IEDriver executable needs to be available in the path.

是因为执行这些实例需要添加相应的driver

 

然后通过get函数访问url。这里需要声明的是get函数会等待页面安全加载以后,才会将控制权交回python 脚本, 否则一直等待。

当页面加载完成后,判断该网页的title是否包含 “百度”

browser.get('http://www.baidu.com')
assert "百度" in browser.title

 

打开百度后,研究百度的编码,这里可以用Chrome按F12键进行源码分析

1

 

1. 从源码分析可知,搜索框输入表格的id为kw

elem = browser.find_element_by_id("kw")

2. 像搜索框中发送关键字

elem.send_keys("今日热点")

3. 模拟键盘Enter键提交搜索需求

elem.send_keys(Keys.RETURN)

 

最后等待20秒后,关闭浏览器

browser.close()
posted on 2015-07-07 17:59  橘子季节  阅读(6881)  评论(0编辑  收藏  举报