博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python+Selenium练习篇之18-获取元素上面的文字
阅读量:4984 次
发布时间:2019-06-12

本文共 1372 字,大约阅读时间需要 4 分钟。

本文介绍如何通过Selenium方法来获取某一个元素的text属性值。在很多自动化测试脚本中,需要多次获取元素的text值,拿过来进行对比和匹配。例如,在一个登陆界面,如果不输入用户名和密码,直接点击登录,肯定会有相关错误提醒。这个错误,我们需要通过selenium抓取出来,和需求说明文档中的描述去进行匹配,如果匹配,测试成功,否则失败。

这里用百度登录举例:

 

 

需要通过Selenium脚本去自动判断是否显示错误文字“请您填写手机/邮箱/用户名”

 

相关脚本代码如下:

# coding=utf-8
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("http://www.baidu.com/")
time.sleep(1)
driver.find_element_by_xpath("//*[@id='u1']/a[7]").click()
time.sleep(1)
driver.find_element_by_xpath("//*[@id='TANGRAM__PSP_8__submit']").click()
# 断言方法一
try :
error_message = driver.find_element_by_xpath("//*[@id='TANGRAM__PSP_8__error' and text()='请您填写手机/邮箱/用户名']").is_displayed()
print ("Test pass. the error message is display.")
except Exception as e:
print ("Test fail.", format(e))
# 断言方法二,本文重点介绍方法
error_mes = driver.find_element_by_xpath("//*[@id='TANGRAM__PSP_8__error']").text
try:
assert error_mes == u'请您填写手机/邮箱/用户名'
print ('Test pass.')
except Exception as e:
print ("Test fail.", format(e))

总结:

要获取到目标元素的text的值,需要定义一个目标元素element,然后通过element.text方法得到字符串,注意不是element.text(),这个方法是没有带小括号的。上面介绍了两个方法,方法一是,直接把字段写入XPath表达式,如果通过该XPath能定位到元素,说明这个错误字段已经在页面显示;方法二是通过该目标元素节点,然后通过element.text得到值,在拿得到的text值取和期待的结果去字符串匹配。建议在自动化测试脚本开发中,采用第二个方法。

转载于:https://www.cnblogs.com/wangyinghao/p/10571073.html

你可能感兴趣的文章
win10更新后 chrome内核浏览器总是打开网页一直加载 甚至打不开 解决方法
查看>>
selenium和appium启动的感悟
查看>>
微服务架构理解[架构图]
查看>>
谷歌Web Starter Kit 起步套件
查看>>
Deepin Linux安装node.js并搭建vue环境
查看>>
利用call与apply向函数传递参数
查看>>
MariaDB数据库(一)
查看>>
将列表中的元素转化为数字并排序
查看>>
onpause 与 onresume
查看>>
[置顶] Android问题----Android OnSensorChanged() not working when screen lock is on
查看>>
【LeetCode】24.Linked List — Linked List Cycle II 链表环2
查看>>
[微软面试100题]21-30
查看>>
Latex
查看>>
格式化硬盘脚本
查看>>
SpringMVC处理JSON
查看>>
几何建模
查看>>
java crm 系统 进销存 springmvc SSM项目项目源码
查看>>
php直接取得本周时间
查看>>
jQuery.extend 函数详解
查看>>
关于npm 淘宝镜像 以及package.json里包的更新
查看>>