WebElement.getText()为空解决方法

当使用getText()获取一个普通的链接文本时:

  1. <a href="http://www.baidu.com">baidu</a>

如果得到的文本只为空,而非我们期望的baidu.那么尝试使用WebElement.isDisplayed()时候,将会得到false的结果.再尝试使用getAttribute("href"),发现能够争取获取href的值.由此可以说明:

  1. WebDriver判定isDisplayed为false的元素,那么getText()将为空
  2. isDisplayed为false的元素,依然可以通过getAttribute()方法获取元素的属性.

所以,当getText()为空的时候,可以通过两种方法获取链接的文本

  1. 修改页面当前元素,或者当前元素父元素的CSS,使元素的isDisplayed()值为true.
  2. 使用getAttribute("innerHTML")获取文本值

由此我们也可以知道,isDisplayed为false,是指那个元素是存在的,只是webdriver认为不见.回到关键问题,webdriver是如何判断一个元素是否displayed,请参照:

http://www.w3.org/TR/webdriver/#determining-visibility

事实上,我所要测试的link,在运行的时候并非隐藏而是可见的,运行中获取的CSS display值为block而非none.

大概是因为我的目标链接是在一个弹出下拉菜单中的原因

本文出自"lijingshou"博客,转载请务必保留此出处http://lijingshou.iteye.com/blog/2082704

【转】WebElement.getText()为空解决方法的更多相关文章

  1. selenium中WebElement.getText()为空解决方法

    当使用getText()获取一个普通的链接文本时: <a href="http://www.baidu.com">baidu</a> 如果得到的文本只为空, ...

  2. ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null

    ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null,解决方法:判断什么null都可以用is null.

  3. MVC5 Controller构造方法获取User为空解决方法

    用如下方法获取UserId报空引用异常 public class BaseController : Controller { protected SiteContext db = new SiteCo ...

  4. mysqldump定时任务生成备份文件内容为空解决方法

    1问题:写好了一个mysqldump备份脚本(如图)直接执行可以正常生成备份文件,但在用crontab运行时却生成内容为空 2原因分析:由于mysqldump存在于全局环境变量mysql的bin下面, ...

  5. json解析出来数据为空解决方法

    从APP端或从其他页面post,get过来的数据一般因为数组形式.因为数组形式不易传输,所以一般都会转json后再发送.本以为发送方json_encode(),接收方json_decode(),就解决 ...

  6. Centos 6.4 /usr/src/kernels 目录为空解决方法

    /usr/src/kernels 目录下是Linux的内核源码,如果其为空,则需要安装安装 kernel-headers 和 kernel-devel包

  7. MySQL data路径为空解决方法

    CMD x:\mysql\5.7.12\bin>mysqld --initialize-insecure --user=mysql

  8. oidc User.Identity.Name 为空解决方法

    public override Task TicketReceived(TicketReceivedContext context) { var result = base.TicketReceive ...

  9. session在本地可以正常使用,而在sae上却无法使用或者值为空的解决方法

    session在本地可以正常使用,而在sae上却无法使用或者值为空的解决方法: session_start()放在当前页代码的第一行即可解决该问题. 在本地上session_start()如果不是放在 ...

随机推荐

  1. 95th percentile concentration

    很多网络流量监控软件都提供了一个95th的值,开始一直不太理解,终于在solarwinds官网找到答案. 95th百分点指的是所给数集中超过其95%的数.它是一个统计学上的概念.对于某个接口,准确统计 ...

  2. android电池(五):电池 充电IC(PM2301)驱动分析篇【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/8970363 android充电这块,有的电源管理芯片内部包含充电管理,如s5pv210 ...

  3. Sqlte 知识点记录

    1.表存在 select count(*) from sqlite_master where type='table' and name='MyTable'; sql),path ))"; ...

  4. 分享知识-快乐自己:解决 Maven 无法下载 fastdfs-client-java 依赖。

    因为fastdfs-client-java-1.27-SNAPSHOT.jar这个依赖包在maven中央仓库是没有的. 需要自己编译源码成jar本地安装到maven 的本地仓库,安装完以后就能正常引用 ...

  5. python自动化开发学习 进程, 线程, 协程

    python自动化开发学习 进程, 线程, 协程   前言 在过去单核CPU也可以执行多任务,操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换任务2,任务2执行0.01秒,在切换到任务3,这 ...

  6. Struts2与OGNL

    Action会自动放入值栈,成员变量会自动放入root区 如果是方法中的对象 要放入值栈 push()或者getRoot().push(); 界面取值  直接用对象的属性名进行取值

  7. kylin_学习_00_资源帖

    一.官方资料 1.官方文档 kylin官方文档(中文) 2.kylin的安装 Hadoop 环境搭建 kylin安装向导 二.参考资料 1.分布式大数据多维分析(OLAP)引擎Apache Kylin ...

  8. Spring源码分析_01_ idea搭建spring源码阅读环境

    二.参考资料 1.Intellij Idea如何导入spring源码

  9. python 标准库 —— 线程与同步(threading、multiprocessing)

    1. 创建线程 使用 os 下的 fork() 函数调用(仅限 Unix 系统) import os print('current process (%s) starts ...' % (os.get ...

  10. 寻找总和为n的连续子数列之算法分析

    看到有这么道算法题在博客园讨论,算法eaglet和邀月都已经设计出来了,花了点时间读了下,学到点东西顺便记录下来吧. 题目是从1...n的数列中,找出总和为n的连续子数列. 这里先设好算法中需要用到的 ...