判断文本

在做结果判断的时候,经常想判断某个元素中是否存在指定的文本,如登录后判断页面中是账号是否是该用户的用户名。
在前面的登录案例中,写了一个简单的方法,但不是公用的,在 EC 模块有个方法是可以专门用来判断元素中存在指定文本的:
text_to_be_present_in_element。
另外一个差不多复方法判断元素的 value 值:
text_to_be_present_in_element_value。

源码分析

class text_to_be_present_in_element(object):
""" An expectation for checking if the given text is present in the specified element.locator, text"""
'''翻译:判断元素中是否存在指定的文本,参数:locator, text'''
def __init__(self, locator, text_):
  self.locator = locator
  self.text = text_
def __call__(self, driver):
  try:
    element_text = _find_element(driver,
    self.locator).text
    return self.text in element_text
  except StaleElementReferenceException:
    return False
1.翻译:判断元素中是否存在指定的文本,两个参数:locator, text
2.__call__里返回的是布尔值:Ture 和 False

判断文本

1.判断百度首页上,“糯米”按钮这个元素中存在文本:贴吧

2.locator 参数是定位的方法
3.text 参数是期望的值

4.失败案例,如果判断失败就会返回false

判断value

class text_to_be_present_in_element_value(object):
"""An expectation for checking if the given text is present in the element's locator, text """
def __init__(self, locator, text_):
  self.locator = locator
  self.text = text_
def __call__(self, driver):
  try:
    element_text = _find_element(driver,
    self.locator).get_attribute("value")
    if element_text:
      return self.text in element_text
    else:
      return False
  except StaleElementReferenceException:
    return False

1.这个方法跟上面的差不多,只是这个是判断的 value 的值
2.这里举个简单案例,判断百度搜索按钮的 value 值

参考代码:

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
locator = ("name", "tj_trtieba")
text = u"贴吧"
result = EC.text_to_be_present_in_element(locator, text)(driver)
print result
# 判断失败案例
locator1 = ("name", "tj_trtieba")
text1 = u"贴吧hh"
result1 = EC.text_to_be_present_in_element(locator1, text1)(driver)
print result1
# 判断value值
locator2 = ("id","su")
value = u"百度一下"
result2 = EC.text_to_be_present_in_element_value(locator2,value)(driver)
print result2

  

判断文本(text_to_be_present_in_element)的更多相关文章

  1. 机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题

    纵观机房收费系统,判断文本框.组合框为空问题无非两种情况.第一种:判断窗体中所有文本框.组合框是否为空.第二种:判断一部分文本框.组合框是否为空.下面看看是如何实现这两种情况的. 第一种:判断窗体中所 ...

  2. EditText文本中用正则匹配是否包含数字,及判断文本只能是纯汉字或纯字母

    遇到判断EditText中文本,是否为制定格式 EditText et; Button btn; @Override protected void onCreate(Bundle savedInsta ...

  3. Python:判断文本中的用户名在数据库中是否存在,存在返回1,不存在返回0

    下面是我写的python的一个小脚本,作用是:判断文本中的用户名在数据库中是否存在,存在返回1,不存在返回0.用的是MySQL数据库. 要注意的是:strip函数的使用,该函数的作用是去除字符串两端多 ...

  4. textView中判断文本长度,自定义表情长度为1,emoj表情长度为1,输入限制

      static const int MAX_LIMIT_NUMS = 100; /**< 输入个数限制 */ // self.inputNumberTipsLabel 控制器的view上一个用 ...

  5. JavaScript 中怎样判断文本框只能输出英文字母、汉字和数字,不能输入特殊字符!

    JS-只能输入中文和英文2008-11-08 10:17在js中用正则表达式对象(RegExp)判断中文 ^[\u0391-\uFFE5]+$英文 ^[A-Za-z]+$中文和英文/^[\u0391- ...

  6. jquey(判断文本框输入的网址链接是否符合规则)

    今天遇到一个问题,我要在文本框中输入一个网址链接,使其跳转.但是如何验证,我首先想到了正则表达式.对的,就是你想的那样,我对正则一知半解,但在我哥哥帮助下,最终是 实现 了效果.在此,来一发,分享一下 ...

  7. WPF TextBlock IsTextTrimmed 判断文本是否超出

    WPF TextBlock/TextBox 设置TextTrimming情况下 判断 isTextTrimmed(Text 文本是否超出 是否出现了省略号) private bool IsTextTr ...

  8. jQuery 判断文本输入框的事件

    1.实现以下需求: 输入框中输入内容,发表按钮变为蓝色背景,删除为空则变为原来的颜色 代码实现:通过判断event.target.value是否为空 2.input事件:文本输入框正在输入时生效  f ...

  9. [ASP.NET] 后台判断文本框输入内容是否为数字

    由于使用JS在前台对文本框内容进行检测后似乎会影响回传 故在后端进行对内容判断 代码示例: string abnormal_num = Abnormal_Num.Text;//獲取文本框的text值 ...

随机推荐

  1. PyCharm创建普通项目配置支持jinja2语法

    打开项目的根目录的.idea文件夹中项目名.iml文件(隐藏文件) 打开这个iml文件,在component标签的同级,添加如下代码: <component name="Templat ...

  2. PyCharm可用Active Code分享

    目前可用,不保证更新!请及时取用. 6YQUPH9R7H-eyJsaWNlbnNlSWQiOiI2WVFVUEg5UjdIIiwibGljZW5zZWVOYW1lIjoi5o6I5p2D5Luj55C ...

  3. 终端工具putty访问vmware centos系统

    当我们安装好后,可以通过shell来输入命令行来操作centos,当我们一般为了方便可以用终端进行远程连接虚拟机. 软件下载:http://www.chiark.greenend.org.uk/~sg ...

  4. linux 管道与重定向

    命令行shell数据流有如下定义: 通过管道和重定向可以控制CLI的数据流

  5. 【转载】UML类图几种关系的总结

    因为有的时候很久不弄UML图,老是忘记几个常见的连接线的意思,这篇完全说转载:UML类图几种关系的总结 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Real ...

  6. button的onclick函数一直刷新

    button中的onclick写成函数时需要 <button onclick="return function();"></button> 加一个retur ...

  7. 网易对象存储NOS图床神器

    本文来自网易云社区 注:使用过程中有什么问题或建议欢迎到如下链接提交:http://note.youdao.com/noteshare?id=6321086fa4d7a6c003656354c1aa6 ...

  8. ie7间隙问题

    正常浏览器显示,如谷歌浏览器: ie7浏览器效果如图: html代码: <ul> <li class="current"><a href=" ...

  9. BZOJ4032: [HEOI2015]最短不公共子串(后缀自动机+序列自动机)

    题目描述 在虐各种最长公共子串.子序列的题虐的不耐烦了之后,你决定反其道而行之. 一个串的“子串”指的是它的连续的一段,例如bcd是abcdef的子串,但bde不是. 一个串的“子序列”指的是它的可以 ...

  10. jqury动画,循环

    一.动画 效果就是定义一个小盒子,让这个小盒子以动画的形式变化尺寸, <!DOCTYPE html> <html lang="en"> <head&g ...