2010年03月27日
Seleniumでiframeの中を書き換える @ ウェブ
Movable Typeのテンプレートを自動的に流し込む仕組みが作れないかと思って、Selenium IDEで試してみた。
当初、楽勝だろうと思っていたら、これが結構面倒だった。
まず問題になった部分。Movable Typeのテンプレートは、編集のページが単純なフォームではなかった。タイトルは普通にformのinputなのだが、テンプレートの本体を書き込む部分が、iframeに成っていて、その中のpreに書く形になっていた。この時点でXpathでの記述を断念。それっぽく書いてみたが、Seleniumで認識しない。こんな感じ。> //*[@id="text"]/html/body/pre
色々としたらべてみると、どうやらgetEvalを使って直接JavaScriptを記述すれば良いことが判明。
this.page().getDocument().getElementById('text').contentWindow.document.getElementsByTagName('pre')[0].innerHTML = 'ここにテキストを入力する。';
このように書けば良いことまで分かった。しかし、値の方に記述を入れてて、何度やっても動かない。正しくは対象のところに入力する必要があったみたい。
取り敢えずこれでiframeの中に自由に書き込みができるようになりました。あとは、一連の動作を記述するだけ。何となく先が見えてきたぞ。
参考にしたページを書いておきます。
Selenium再入門 :: handsOut.jp
>>関連リンク
SeleniumでJavaScriptを使う方法いろいろ(変数・関数などの利用)
>>関連リンク
関連日記
- 2010年05月14日 FlexMonkey 4 Beta 1 Release (2636)@ Flash
- 2009年12月02日 広島ウェブシステム開発勉強会#006 (2052)@ 雑
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。