判断 title

获取页面 title 的方法可以直接用 driver.title 获取到,然后也可以把获取到的结果用做断言。
本篇介绍另外一种方法去判断页面 title 是否与期望结果一种,用到上一篇判断元素(expected_conditions)提到的 expected_conditions 模块里的 title_is 和 title_contains 两种方法

源码分析

1.首先看下源码,如下
class title_is(object):
"""An expectation for checking the title of a page.title is the expected title, which must be an exact matchreturns True if the title matches, false otherwise."""
'''翻译:检查页面的 title 与期望值是都完全一致,如果完全一致,返回 Ture,否则返回 Flase'''
def __init__(self, title):
self.title = title
def __call__(self, driver):
return self.title == driver.title
2.注释翻译:检查页面的 title 与期望值是都完全一致,如果完全一致,返回True,否则返回 Flase
3.title_is()这个是一个 class 类型,里面有两个方法
4.__init__是初始化内容,参数是 title,必填项
5.__call__是把实例变成一个对象,参数是 driver,返回的是 self.title ==driver.title,布尔值

判断 title:title_is()

1.首先导入 expected_conditions 模块
2.由于这个模块名称比较长,所以为了后续的调用方便,重新命名为 EC 了(有点像数据库里面多表查询时候重命名)
3.打开博客首页后判断 title,返回结果是 True 或 False

判断title包含:title_contains

1.这个类跟上面那个类差不多,只是这个是部分匹配(类似于 xpath 里面的
contains 语法)
2.判断 title 包含'Silence&'字符串

参考源码;

# coding: utf-8
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("http://www.cnblogs.com/101718qiong/")
# 判断title完全等于
title = EC.title_is(u"Silence&QH - 博客园")
print title(driver)
# 判断title包含
title1 = EC.title_contains("Silence&QH")
print title1(driver)
# 另外写法
r1 = EC.title_is(u"Silence&QH - 博客园")(driver)
r2 = EC.title_contains("Silence&QH")(driver)
print r1
print r2

判断title(title_is)的更多相关文章

  1. Selenium2+python自动化43-判断title(title_is)

    From: https://www.cnblogs.com/yoyoketang/p/6539117.html 前言 获取页面title的方法可以直接用driver.title获取到,然后也可以把获取 ...

  2. Selenium2+python自动化43-判断title(title_is)【转载】

    前言 获取页面title的方法可以直接用driver.title获取到,然后也可以把获取到的结果用做断言. 本篇介绍另外一种方法去判断页面title是否与期望结果一种,用到上一篇Selenium2+p ...

  3. python+selenium自动化软件测试(第4章):场景判断与封装

    4.1 显示等待WebDriverWait 前言:在脚本中加入太多的sleep后会影响脚本的执行速度,虽然implicitly_wait()这种隐式等待在一定程度上节省了很多时间.但是一旦页面上某些j ...

  4. python selenium2 中的显示等待WebDriverWait与条件判断expected_conditions举例

    #coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium. ...

  5. python-web自动化-Python+Selenium之expected_conditions:各种判断

    expected_conditions一般也简称EC 以下两个条件类验证title,验证传入的参数title是否等于或包含于driver.titletitle_istitle_contains 以下两 ...

  6. 判断元素16种方法expected_conditions

    前言 标签(空格分隔): 判断元素 经常有小伙伴问,如何判断一个元素是否存在,如何判断alert弹窗出来了,如何判断动态的元素等等一系列的判断,在selenium的expected_condition ...

  7. selenium3 + python - expected_conditions判断元素

    expected_conditions 类 title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值 title_contains : 判断当前页面的title是否包含预 ...

  8. Selenium(二十):expected_conditions判断页面元素

    1. 判断元素(expected_conditons) 作为一个刚刚转到python开发的小朋友,在开发前只将前辈们封装的方法看了一遍,学了一边selenium基础.看到封装的方法有什么判断元素是否存 ...

  9. 【转】python selenium2 中的显示等待WebDriverWait与条件判断expected_conditions举例

    #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By from seleni ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议——建议107:区分静态类和单例

    建议107:区分静态类和单例 有一种观点认为:静态类可以作为单件模式的一种实现方式.事实上,这是不妥当的.按照传统的观点来看,单例是一个实例对象.而静态类并不满足这一点.静态类也直接违反面向对象三大特 ...

  2. 如何让X5发现你的手机

    1. 手机开启 USB 调试.不用 ROOT.2. 装驱动.(问题就在这里) 首先要装对驱动,如果你的驱动叫 MyHTC,请立即删除. 找个 手机助手.例如 百度 腾讯 360 等等.反正不论你是谁的 ...

  3. ibatis 参数之 String

    <select id="query_cust_name" resultClass="_custForm" parameterClass="Str ...

  4. 基于python+selenium的框架思路

    设想: 1.使用excel编写用例第一个sheet页为用例概要格式如下: 后面的sheet页为具体的用例步骤: 实现所有定位信息都与测试代码分离 2.读取该excel文件取出关键字等信息,作为关键字的 ...

  5. C# winfrom 存取图片到数据库(二进制,image)

    1.读取本地图片到PictureBox public void InageShow(PictureBox PB) { OpenFileDialog openfile = new OpenFileDia ...

  6. Linux的用户及权限相关

    sudo:用户想要使用sudo提升权限运行命令的话,需要把他加到sudo的list中 否则会报错:xxx is not in the sudoers file. 步骤 切换到root用户,运行visu ...

  7. Maximum file handles allowed by OS

    Linux can open 1024 files concurrently by each process by default: http://m.blog.csdn.net/blog/keepe ...

  8. [Perl]Windows 系统 Unicode 文件名操作(新建、重命名、枚举、复制)全攻略

    [Perl] Windows 系统 Unicode 文件名操作(新建.重命名.枚举.复制)全攻略 环境 XP/WIN7 Perl v5.16 编辑整理:PerlMonk.523066680 常见的那些 ...

  9. 让子类使用父类的Logger

    参考博客:https://blog.csdn.net/zx1323/article/details/71262613 1.让子类使用父类的Logger,这是一种语法思路,可以减少代码臃肿. 2.使用的 ...

  10. 洛谷P3643 [APIO2016]划艇(组合数学)

    题面 传送门 题解 首先区间个数很少,我们考虑把所有区间离散化(这里要把所有的右端点变为\(B_i+1\)代表的开区间) 设\(f_{i,j}\)表示考虑到第\(i\)个学校且第\(i\)个学校必选, ...