下面是一个简单的实例
#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. 从源码分析可知,搜索框输入表格的id为kw
elem = browser.find_element_by_id("kw")
2. 像搜索框中发送关键字
elem.send_keys("今日热点")
3. 模拟键盘Enter键提交搜索需求
elem.send_keys(Keys.RETURN)
最后等待20秒后,关闭浏览器
browser.close()