浅墨散人 浅墨散人
  • 基础
  • 设计模式
  • JVM
  • Maven
  • SpringBoot
  • 基础
  • Flask
  • Diango
  • Pandas
  • SqlAlchemy
  • Sqoop
  • Flume
  • Flink
  • Hadoop
  • Hbase
  • Hive
  • Kafka
  • Kylin
  • Zookeeper
  • Tez
  • MySQL
  • Doris
  • Chrome
  • Eclipse
  • IDEA
  • iTerm2
  • Markdown
  • SublimeText
  • VirtualBox
  • WebStrom
  • Linux
  • Mac
  • Hexo
  • Git
  • Vue
  • VuePress
  • 区块链
  • 金融
数据仓库
数据治理
读书笔记
关于我
GitHub (opens new window)
  • 基础
  • 设计模式
  • JVM
  • Maven
  • SpringBoot
  • 基础
  • Flask
  • Diango
  • Pandas
  • SqlAlchemy
  • Sqoop
  • Flume
  • Flink
  • Hadoop
  • Hbase
  • Hive
  • Kafka
  • Kylin
  • Zookeeper
  • Tez
  • MySQL
  • Doris
  • Chrome
  • Eclipse
  • IDEA
  • iTerm2
  • Markdown
  • SublimeText
  • VirtualBox
  • WebStrom
  • Linux
  • Mac
  • Hexo
  • Git
  • Vue
  • VuePress
  • 区块链
  • 金融
数据仓库
数据治理
读书笔记
关于我
GitHub (opens new window)
  • Python基础

    • Python基础
    • Python基础
    • 在MacOS上安装Python2和Python3
    • 在MacOS上使用python安装pymssql库
    • 使用Python构建交互式的Dashboard
    • Python一行代码实现文件共享服务器
    • Python浏览器自动化工具splinter
      • 介绍
        • 特点
        • 安装
        • Splinter文档
      • 获取浏览器实例
      • 访问站点
      • 填充表单
      • 点击按钮
      • 完整代码
    • Python将txt转为xlsx文件
    • Python的virtualenv虚拟环境
  • Python
  • Basic
2019-01-15
目录

Python浏览器自动化工具splinter

# 介绍

官网 (opens new window)

Splinter 是用 Python 开发的一个开源web自动化测试的工具集。 它可以帮你自动化浏览器的行为,比如浏览 URLs 并和页面进行交互。

# 特点

  • 简单的 api
  • 支持多种 webdriver (chrome webdriver, firefox webdriver, phantomjs webdriver, zopetestbrowser, remote webdriver)
  • 支持 css 和 xpath 选择器
  • 支持 iframe 和 alert
  • 可执行 javascript 脚本
  • 支持 ajax 和 异步 javascript

# 安装

$ [sudo] pip install splinter
1

# Splinter文档

官方地址:http://splinter.readthedocs.io/en/0.7.7/ Chrome Driver文档:http://splinter.readthedocs.io/en/0.7.7/drivers/chrome.html

# 获取浏览器实例

from splinter import Browser

#默认是firfox浏览器,如果使用chrome等其他浏览器,需要安装相应的驱动
browser = Browser()
#使用chrome浏览器
#browser = Browser("chrome")
1
2
3
4
5
6

# 访问站点

browser.visit('http://www.baidu.com')
1

# 填充表单

方法名 说明
fill(name, value) 通过控件name赋值
fill_form(field_values) 通过控件name赋值,参数是字典类型,即key为控件的name,字典项为要赋的值。支持text, password, textarea, checkbox, radio and select.checkbox必须制定字段字典项为boolean 类型

例如:为页面上name是wd的元素赋值,这里的wd是百度首页上的搜索框name

browser.fill("wd","splinter")
1

# 点击按钮

通过如下方法可以匹配页面上的dom元素

image-20190115104923944

例如:找到页面上id是su的按钮,这里的su是百度首页上的"百度一下"按钮

button = browser.find_by_id('su')
button.click()
1
2

其中:click()方法表示单击该按钮

# 完整代码

实例说明:打开百度,根据关键字splinter搜索,如下实例会自动打开浏览器访问百度,搜索splinter


#coding=utf-8

from splinter import Browser

browser = Browser("chrome")

browser.visit('https://www.baidu.com')

browser.fill("wd","splinter")

browser.find_by_id("su").click()

1
2
3
4
5
6
7
8
9
10
11
12
13
#Python#splinter
最后更新时间: 2022/7/23 10:17:11
Python一行代码实现文件共享服务器
Python将txt转为xlsx文件

← Python一行代码实现文件共享服务器 Python将txt转为xlsx文件→

最近更新
01
分区分桶
08-21
02
数据模型(重要)
08-21
03
安装和编译
08-21
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式