2

私はWatir(およびJavaScriptも)に不慣れで、関連する質問(および回答も)をフォローしています。「Firebug」の提案も確認しました。どのイベントが発生したかを調べた後、私たちが何をすべきかを完全に把握することができませんでした。

次の場合、「概要」を手動でクリックするだけで十分ですが、同じものを自動化するコードを書くことができません。

<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

動作しません。

このための解決策(またはさらに良いのはコード)を提供してください。

4

1 に答える 1

1

少し実験する必要がありますが、ordeは、それを採用するためのアプローチがおそらく機能することをすでに指摘しています。

私はこれらの線に沿った何かがおそらく正しい答えだと思います:

browser.div(id: "overview").span(class: "dijitTreeLabel").fire_event "onfocus"

あなたはクリックをする別のものとそのラインナップをたどらなければならないかもしれません...

browser.div(id: "overview").span(class: "dijitTreeLabel").fire_event :click

...繰り返しになりますが、何が機能するかを明確に知ることは難しいため、実験する必要があります。

于 2012-12-18T22:04:50.873 に答える