Python下的selenium和splinter模块是可以完成浏览器自动化测试的.
splinter文档如下:
英文文档: /
中文文档:
selenium文档: / (英文文档, 中文文档暂未发现)
selenium下面主要介绍以下selenium模块:
在使用之前要钱安装模块, 使用python的pip命令安装即可
首先需要创建浏览器的驱动对象, 使用其中的webdriver模块
1.使用前需要导入:
from selenium import webdriver2. 启动浏览器并拿到浏览器对象
# 启动火狐浏览器driver = webdriver.Firefox()# 启动谷歌浏览器driver = webdriver.Chrome()# 启动ie浏览器driver = webdriver.Ie()3. 拿到浏览器对象后就可以对浏览器进行一系列操作了
浏览器对象有如下方法(给出部分):
current_window_handle: 当前窗口句柄
window_handles: 所有窗口句柄
switch_to_window(handle): 切换窗口焦点
title: 网页标题
page_source: 网页源代码
save_screenshot(path): 将页面截图保存(路径)
close(): 关闭浏览器
get(url): 发送get请求
switch_to_alert(): 获取页面弹窗对象
execute_script(js): 执行js语句
forwared(): 前进
back(): 后退
add_cookie(cookie): 添加 cookie
get_cookies(): 返回当前对话的cookies(字典)
find_element_by_class_name(name): 根据class属性查找标签, 返回一个
find_elements_by_class_name(name): 根据class属性查找标签, 返回所有
find_element_by_id(id_): 根据id属性查找标签, 返回 WebElement 对象
find_element_by_name(name): 根据name属性查找标签, 返回 WebElement 对象
find_elements_by_name(name): 根据name属性查找标签, 返回所有
find_element_by_tag_name(name): 根据标签名查找标签, 返回 WebElement 对象
find_elements_by_tag_name(name): 根据标签名查找标签, 返回所有
其中的WebElement对象为网页中的标签对象, 方法大概如下(部分):
click(): 点击此标签
send_keys(*value): 模拟输入元素,一些特殊的按键定义在Keys中(from selenium.webdriver.common.keys import Keys)
clear(): 清除输入内容
submit(): 提交表单
find_element_by_class_name(name): 根据class属性查找标签
find_elements_by_class_name(name): 根据class属性查找标签, 返回所有
find_element_by_id(id_): 根据id属性查找标签, 返回 WebElement 对象
find_elements_by_id(id_):
find_element_by_name(name): 根据name属性查找标签, 返回 WebElement 对象
find_elements_by_name(name):
find_element_by_tag_name(name): 根据标签名查找标签, 返回 WebElement 对象
find_elements_by_tag_name(name):
find_element_by_xpath(xpath): 根据 xpath 查找标签, 返回 WebElement 对象
find_elements_by_xpath(xpath):
以上仅给出部分方法, 具体使用可到文档中查看('/ ')
之后调用方法完成自己的需求即可, 将程序写好后, 浏览器就可以按照程序进行自动化操作了
Chrome的驱动应该是要下载, 自行谷歌一下就好
使用selenium操控Chrome, 效果就像这样(之前写的一个爬花瓣图片的程序):