我遇到了使用watir webdriver
的非可见元素的问题在html代码中,单词不可见:
<td class="hidden-xs hidden-sm ng-binding">ZT0</td>
我发现的CSS
@media (max-width:767px){
.hidden-xs{
display:none !important;
}
}
@media (min-width:768px) and (max-width:991px) {
.hidden-sm{
display:none !important;
}
}
我认为display:none
不允许机器人阅读它......
当我在我的剧本中写道.rb:
puts browser.tbody(:index, 3).tr(:index, 0).td(:index => 3, ).text
虽然我在屏幕上看到了ZTO,但它给了我一个空白的请求!
答案 0 :(得分:0)
CSS类表示当浏览器宽度小于991px时,不会显示td
元素。您可能需要将浏览器宽度增加到大于此值。首先尝试最大化浏览器:
browser.window.maximize
puts browser.tbody(:index, 3).tr(:index, 0).td(:index => 3, ).text
如果您不尝试测试响应式设计,可以使用inner_html
来获取文本。无论浏览器宽度如何,它都将返回内容。
puts browser.tbody(:index, 3).tr(:index, 0).td(:index => 3, ).inner_html
#=> "Z10"