elenium中WebElement.getText()为空解决方法/滚动条等原因

当使用getText()获取一个普通的链接文本时:
<a href="http://www.baidu.com">baidu</a>
如果得到的文本只为空,而非我们期望的baidu.
那么尝试使用WebElement.isDisplayed()时候,将会得到false的结果.
再尝试使用getAttribute(“href”),发现能够争取获取href的值.由此可以说明:

WebDriver判定isDisplayed为false的元素,那么getText()将为空
isDisplayed为false的元素,依然可以通过getAttribute()方法获取元素的属性.
{真是很鸡肋的一个检查机制啊}

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

  1. 修改页面当前元素,或者当前元素父元素的CSS,使元素的isDisplayed()值为true.(例如通过((JavascriptExecutor)
    // driver).executeScript(“document.querySelector(‘cssSelector’).style.display=“inline””)?)
  2. 使用getAttribute(“innerHTML”)获取文本值
  3. 禁用css
    由此我们也可以知道,isDisplayed为false,是指那个元素是存在的,只是webdriver认为不见.回到关键问题,webdriver是如何判断一个元素是否displayed,请参照:
    https://www.cnblogs.com/jinhengyu/p/10257818.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值