Mac*_*tyn 1 selenium-ide css-selectors
我正在测试一个应用程序,在单击另一个跨度时取消隐藏div块.(这是下拉列表的模拟.)也就是说,当我单击正确的元素以显示div块时,<div class="select-popup" style="display:none; z-index:auto;">变为<div class="select-popup" style="display:block; z-index:1019;">(不会更改的其他类和样式属性被遗漏)唯一的其他属性在style是z-index from
在Se IDE中,我有
<tr>
<td>waitForElementPresent</td>
<td>css=.select-popup:visible</td>
<td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
但是,它失败了.我单击"查找"按钮,它看不到显示的div块.
我正在使用Firebug来检查代码,它有一个很好的控制台功能.我输入$('.select-popup:visible');它正确找到显示时的元素:阻止设置并且在显示时没有找到它:无设置.
关于我做错了什么或者是用这种方式破坏了Se IDE的想法?
好的,这是答案.:visible是一个JQuery扩展,不是CSS规范的一部分.Firebug正在做的是使用JQuery来查找它,而Selenium IDE在其CSS选择器中不使用JQuery.
http://api.jquery.com/visible-selector/
这是一个例子.
单击本页顶部的"帮助"链接.在firebug的控制台中,键入:
$('.help-dialog:visible')
Run Code Online (Sandbox Code Playgroud)
然后单击"运行" 请注意,它返回一个值 - > jQuery(div.topbar-dialog.help-dialog.js-help-dialog.dno)
现在,在Selenium IDE 2.6.0中输入
css=.help-dialog:visible
Run Code Online (Sandbox Code Playgroud)
在"目标"框中,单击"查找"按钮.它找不到元素.
正确的答案是搜索元素的样式属性display属性.以下行将找到一个可见(而不是隐藏)的元素.
css=.help-dialog:not([style*="display: none"])
Run Code Online (Sandbox Code Playgroud)