学习文档:

http://splinter.readthedocs.io/en/latest/

安装以后用它来实现163邮箱的登陆操作:
*和selenium一样,splinter同样需要对frame进行切换

from splinter import Browser

browser = Browser()
browser.visit('https://mail.163.com') # 163的登录框在iframe中,所以无法使用dom查找,可以splinter提供的相关API with browser.get_iframe('x-URS-iframe') as iframe:
iframe.find_by_name('email').fill('yourName')
iframe.find_by_name('password').fill('yourPassWord')
iframe.find_by_id('dologin').click()
iframe.find_by_text('继续登录').click() if b.is_text_present('写信'):
print('yes!')
else:
print("sorry!")

browser.fill('email','xxxx')                #by_name        field = self.find_by_name(name).first

关于查找元素的方法:

Splinter provides 6 methods for finding elements in the page, one for each selector type: css, xpath, tag, name, id, value, text. Examples:

browser.find_by_css('h1')
browser.find_by_xpath('//h1')
browser.find_by_tag('h1')
browser.find_by_name('name')
browser.find_by_text('Hello World!')
browser.find_by_id('firstheader')
browser.find_by_value('query') If you need to find the links in a page, you can use the methods find_link_by_text, find_link_by_partial_text, find_link_by_href or find_link_by_partial_href. Examples: links_found = browser.find_link_by_text('Link for Example.com')
links_found = browser.find_link_by_partial_text('for Example')
links_found = browser.find_link_by_href('http://example.com')
links_found = browser.find_link_by_partial_href('example')

详细参考:http://splinter.readthedocs.io/en/latest/finding.html

表单切换:get_iframe(name)

Changes the context for working with iframes.

You can use the get_iframe method and the with statement to interact with iframes. You can pass the iframe’s name, id, or index to get_iframe.

with browser.get_iframe('iframemodal') as iframe:
iframe.do_stuff() #for example
with browser.get_iframe('x-URS-iframe') as iframe:
iframe.find_by_name('email').fill('yourName')
iframe.find_by_text('继续登录').click()

selenium===splinter模块和selenium异曲同工的更多相关文章

  1. requests+selenium==requestium模块介绍

    有时,你可能会在网上实现一些自动化操作.比如抓取网站,进行应用测试,或在网上填表,但又不想使用API,这时自动化就变得很必要.Python提供了非常优秀的Requests库可以辅助进行这些操作.可惜, ...

  2. 爬虫模块介绍--selenium (浏览器自动化测试工具,模拟可以调用浏览器模拟人操作浏览器)

    selenium主要的用途就是控制浏览器,模仿真人操作浏览器的行为 模块安装:pip3 install selenium 需要控制的浏览器 from selenium import webdriver ...

  3. 爬虫模块之selenium模块

    一 模块的介绍 selenium模块最开始是一个自动化测试的工具,驱动浏览器完全模拟浏览器自动测试. from selenium import webdriver # 驱动浏览器 browser=we ...

  4. python爬虫---单线程+多任务的异步协程,selenium爬虫模块的使用

    python爬虫---单线程+多任务的异步协程,selenium爬虫模块的使用 一丶单线程+多任务的异步协程 特殊函数 # 如果一个函数的定义被async修饰后,则该函数就是一个特殊的函数 async ...

  5. 全程干货,requests模块与selenium框架详解

    requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...

  6. python 模块之 selenium 自动化使用教程

    一.安装 pip install Selenium 二.初始化浏览器 Chrome 是初始化谷歌浏览器 Firefox 是初始化火狐浏览器 Edge 是初始化IE浏览器 PhantomJS 是一个无界 ...

  7. Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记

    背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...

  8. Python+Selenium+Unittest框架使用——Selenium——定位元素(二)

    1.定位元素(id.name.class.link.partial link) (1)find_element_by_id() 用百度定位测试,用firebug查看定位元素 ,输入框的id为“kw”, ...

  9. selenium(一)--selenium 家族

    2015-12-16 23:17:04 QTP mercury 是商业的,单词意思是水银,而selenium 是开源的,单词意思是硒,有些相对的意思. 1.selenium ide selenium ...

随机推荐

  1. Bootstrap 折叠(collapse) 初见

    以下代码来自bootstrap中文网 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta c ...

  2. 【bzoj1634】[Usaco2007 Jan]Protecting the Flowers 护花 贪心

    题目描述 Farmer John went to cut some wood and left N (2 <= N <= 100,000) cows eating the grass, a ...

  3. manacher算法详解+模板 P3805

    前言: 记住manacher是一个很简单的算法. 首先我们来了解一下回文字串的定义:若一个字符串中的某一子串满足回文的性质,则称其是回文子串.(注意子串必须是连续的,而子序列是可以不连续的) 那么若给 ...

  4. SocketServer-实现并发处理3

    用socketserver创建一个服务的步骤: 1  创建一个request handler class(请求处理类),合理选择StreamRequestHandler和DatagramRequest ...

  5. Elasticsearch 中文分词器IK

    1.安装说明 https://github.com/medcl/elasticsearch-analysis-ik 2.release版本 https://github.com/medcl/elast ...

  6. Android ListView各种效果实现总结,持续更新...

    一.ListView圆角:重写ListView的onInterceptTouchEvent方法,通过pointToPosition(x,y)方法判断当前点击位置所对应的项,有三种情况:分别是第一项.最 ...

  7. 根据银行卡号码获取银行卡归属行以及logo图标

    根据银行卡号码获取银行卡归属地信息接口地址,get请求 https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset= ...

  8. cmder 添加到右键菜单

    管理员权限打开cmde 输入: cmder /register all 回车,OK

  9. getElementsByClassName的原生实现

    DOM 提供了一个名为 getElementById() 的方法,这个方法将返回一个对象,这个对象就是参数 id 所对应的元素节点.另外,getElementByTagName() 方法会返回一个对象 ...

  10. django-jet 中文文档

    关于 JET是新式的Django管理界面并且增强了功能.     内容 文档 开始 安装django-jet 安装仪表盘 配置 配置文件 自动补全 紧凑内联 过滤器 仪表盘 自定义仪表盘 仪表盘模块 ...