2010年03月27日

Seleniumでiframeの中を書き換える @ ウェブ

img1

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を使う方法いろいろ(変数・関数などの利用)
>>関連リンク

閲覧数: 5777 / はてなブックマークusers

関連商品

amazon.co.jp・詳細ページへ

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

▼ Mac

▼ Shade

▼ 3D

▼ Flash

▼ ゲーム

▼ ウェブ

▼ 食

▼ 音楽

▼ 映画

▼ デジカメ

▼ 雑

▼ Windows

▼ Linux

▼ 携帯電話

▼ 株

▼ テレビ

▼ 広島

▼ 電子工作

▼ iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト