value属性で指定できるElementLocator
引き続きseleniumを試しているんだけど、value属性はあるけれどname属性がないタグを指定できるElementLocatorがない。例えばsubmitボタンはvalue属性の値がボタンに表示されるので、value属性は指定するけどname属性は指定していないことが多かったが、そうするとsubmitボタンを押すことができない。またStrutsのhtml:submitタグはname属性が指定できない。
そこでvalue属性で指定できるElementLocatorを作ってみた。selenium-browserbot.jsに以下を追加する。それだけ。
PageBot.prototype.locateElementByValue = function(identifier, inDocument) { var allElements = inDocument.getElementsByTagName("*"); for (var i = 0; i < allElements.length; i++) { var testElement = allElements[i]; if (testElement.value && testElement.value === identifier) { return testElement; } } return null; };
そうすると
<input type="submit" value="ログイン">
は
<tr> <td>clickAndWait</td> <td>value=ログイン</td> <td> </td> </tr>
でクリックできるようになる。
で、これを作った後
<tr> <td>clickAndWait</td> <td>//input[@value='ログイン']</td> <td> </td> </tr>
とすればvalue属性で指定できることがわかった。orz
でも「value=foo」の方がわかりやすいよね、ね。
運動会で1番になる方法
昨日の日曜日は(そ)の運動会だった。運動会といえばかけっこだが(そ)は過去2回ともビリ。4月の中ごろに始まった運動会の練習でもやっぱりビリだったそうで、友達にもからかわれたらしい。
ウーム、このままではイカン! 足が遅い責任の一端は私にあるわけで「よしっ!俺がお前を一番にしてやる!」ということで
運動会で1番になる方法―1ヶ月で足が速くなる股関節活性化ドリル
- 作者: 深代千之
- 出版社/メーカー: アスキー
- 発売日: 2004/10/01
- メディア: 単行本
- 購入: 1人 クリック: 14回
- この商品を含むブログ (13件) を見る
また今年もビリでした。でも去年よりは前の子との距離が縮まったかな? なんてね。