【发布时间】:2013-09-18 08:15:48
【问题描述】:
我正在做一些 Selenium/Robot Framework 自动化测试,我需要一种方法来自动定位可点击的 div 标签。
如果我给它一个非常具体的 CSS 选择器,Click Element 关键字就可以解决问题,但是我怎样才能通过算法找到一个可以被点击的元素呢?只要有办法获取 DOM 节点,我就希望返回一个唯一的选择器,我可以用它来调用 Click Element 关键字。
我了解旧版本的 jQuery 有 $(element).data('events') 可能用于查找点击侦听器,但这似乎是一种不可靠的方法。此外,Chrome 网络检查器似乎无法识别我正在查看的 divs 的任何 click 侦听器。
为了完整起见,以下是我正在使用的 HTML 示例:
<div id="contentarea" class="">
<div id="contentwrapper" style="opacity: 1;">
<div class="rap">
<div id="twocol" class="clearfix margintop">
<div class="leftcol scrollable addprogram">
<a href="..." class="newgroup">
<span class="addicon"></span>New Group
</a>
</div>
<div class="rightcol clearfix">
<ul class="subtabs rounded clearfix">
<li data-tab="pending" class="selected">
<a href="..." class="selected">Released</a>
</li>
</ul>
<div class="clear"></div>
<div id="program-grid" class="clearfix" style="">
<div class="program groups" tabindex="0">
<div class="programframe"></div>
<div class="programinfo">
<h1 class="prizeheight">Development</h1>
</div>
</div><div class="program groups" tabindex="0">
<div class="programframe"></div>
<div class="programinfo">
<h1 class="prizeheight">Loss Prevention/Safety Group</h1>
</div>
...
...
<div class='program groups'> 是一个可点击元素,我希望以编程方式识别它。
为了记录,HTML 是有效的等等。缩小的 Javascript 以某种方式呈现此源,并可能附加侦听器。
谢谢!
【问题讨论】:
-
如果您可以发布您正在使用的 HTML 示例,那将很有帮助。
标签: javascript dom selenium listener robotframework