Python+Selenium练习篇之20-获取元素上面的文字
2017-04-10 12:44
609 查看
本文介绍如何通过Selenium方法来获取某一个元素的text属性值。在很多自动化测试脚本中,需要多次获取元素的text值,拿过来进行对比和匹配。例如,在一个登陆界面,如果不输入用户名和密码,直接点击登录,肯定会有相关错误提醒。这个错误,我们需要通过selenium抓取出来,和需求说明文档中的描述去进行匹配,如果匹配,测试成功,否则失败。
这里用百度登录举例:
需要通过Selenium脚本去自动判断是否显示错误文字“请您填写手机/邮箱/用户名”
相关脚本代码如下:
总结:
要获取到目标元素的text的值,需要定义一个目标元素element,然后通过element.text方法得到字符串,注意不是element.text(),这个方法是没有带小括号的。上面介绍了两个方法,方法一是,直接把字段写入XPath表达式,如果通过该XPath能定位到元素,说明这个错误字段已经在页面显示;方法二是通过该目标元素节点,然后通过element.text得到值,在拿得到的text值取和期待的结果去字符串匹配。建议在自动化测试脚本开发中,采用第二个方法。
这里用百度登录举例:
需要通过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值取和期待的结果去字符串匹配。建议在自动化测试脚本开发中,采用第二个方法。
相关文章推荐
- Python+Selenium练习篇之22-获取页面元素大小
- Python+Selenium练习篇之31-获取页面元素的href属性
- selenium2+python元素状态获取api
- Python+Selenium练习篇之2-利用ID定位元素
- Python+Selenium 自动化实现实例-获取页面元素信息
- Python+Selenium练习篇之12-获取浏览器的版本号
- selenium 获取table中的元素。python
- selenium_webdriver(python)获取元素属性值,浏览器窗口控制、网页前进后退,title/url打印
- Python+Selenium练习篇之24-组合键-退格键删除文字
- selenium java and python获取元素路径的几种方式和实例
- Python+Selenium练习篇之13-获取当前页面的URL
- Python+Selenium练习篇之4-利用link text定位元素
- python获取动态网站上面的动态加载的数据(selenium+Firefox)
- 获取数字特定因子元素的个数 分类: python 小练习 2013-12-02 16:57 250人阅读 评论(0) 收藏
- Python+Selenium练习篇之7-利用name定位元素
- Python+Selenium练习篇之12-获取浏览器的版本号
- Python+selenium 获取一组元素属性值的实例
- selenium+python实现1688登录 —— iframe中元素获取
- Python+Selenium练习篇之23-组合键-全选文字