私はcasperjsを初めて使用します。これまでに学んだ限り、マウスアクションをトリガーできるクリックメソッドは2つだけです:
click()
セレクターが必要ですclickLabel()
タグ間に「ラベル」が必要
私が現在扱っているWebサイトには動的な「タブ」があり、各タブをクリックするとJavaScriptの送信がトリガーされ、「pic」要素を除いて、各タブに関連付けられた「クラス」、「id」、または「ラベル」はありません:
<a href="javascript:submitTab('search6')" tabindex="6">
<img src="image6off.gif" name="imag6" height="6" hspace="0" vspace="0" border="0" onmouseover="nbGroup('over','imag6','image6on.gif','image6on.gif',1);" onmouseout="nbGroup('out');" onclick="nbGroup('down','group1','imag6','image6off.gif',1); submitTab('search6')" alt="New Search">
</a>
使おうとしましclickLabel()
たが失敗しました。
はい、XPath を使用できますが、問題はタブの数が各レコードの利用可能な情報に応じて動的であるため、この場合、「新しい検索」はこのレコードのタブ 6 である可能性がありますが、別のタブではタブ 4、別のタブではタブ 8 です。さらに別の。
はい、使用可能なすべてのタブをループする「ループ」を作成することもできますが、
waitForResource()
「image6on.gif」を使用して、どの画像またはタブをクリックするかをプログラムに伝えることができるので、どうやら、このWebサイトでは、それぞれの異なるjavascript送信タブプログラムが1つの「画像#」に一意に関連付けられていることがわかりました。 on/off.gif"
この種の状況に対処するために、casperjs の貢献者がこのメソッドを簡単に実装できることを願っています。