我是Watir(以及JavaScript)的新手,并且一直关注相关问题(以及答案)。我也经历了“萤火虫”的建议。在找出哪些事件被解雇后,我无法收集我们应该做的事情。
在下列情况下,手动点击“概述”就足够了,但我无法编写代码来自动执行相同的操作。
<div id="overview" class="dijitTreeIsRoot dijitTreeNode dijitTreeNodeUNCHECKED dijitUNCHECKED" role="presentation" style="background-position: 0px 0px;" widgetid="dijit__TreeNode_10">
<div class="dijitTreeRow" data-dojo-attach-event="onmouseenter:_onMouseEnter, onmouseleave:_onMouseLeave, onclick:_onClick, ondblclick:_onDblClick" role="presentation" data-dojo-attach-point="rowNode" title="" style="padding-left: 0px;">
<img class="dijitTreeExpando dijitTreeExpandoLeaf" role="presentation" data-dojo-attach-point="expandoNode" alt="" src="/hcsadmin/open/dojo/resources/blank.gif">
<span class="dijitExpandoText" role="presentation" data-dojo-attach-point="expandoNodeText">*</span>
<span class="dijitTreeContent" role="presentation" data-dojo-attach-point="contentNode">
<img class="dijitIcon dijitTreeIcon dijitLeaf" role="presentation" data-dojo-attach-point="iconNode" alt="" src="/hcsadmin/open/dojo/resources/blank.gif">
<span class="dijitTreeLabel" data-dojo-attach-event="onfocus:_onLabelFocus" aria-selected="false" tabindex="-1" role="treeitem" data-dojo-attach-point="labelNode">Overview</span>
</span>
</div>
<div class="dijitTreeContainer" style="display: none;" role="presentation" data-dojo-attach-point="containerNode"></div>
</div>
现在我可以使用以下方式刷新“概述”:
browser.div(:id, "overview").flash
它成功闪烁。但怀疑,
browser.div(:id, "overview").click
不起作用。
请为此提供解决方案(甚至更好的代码)。
答案 0 :(得分:1)
你将不得不进行一些实验,但是orde已经指出了可能会有效的方法。
我怀疑这些内容可能是正确答案:
browser.div(id: "overview").span(class: "dijitTreeLabel").fire_event "onfocus"
您可能必须按照另一个进行点击的行...
browser.div(id: "overview").span(class: "dijitTreeLabel").fire_event :click
...再一次,很难确切地知道什么是有效的,所以你必须进行实验。