From: MasakiSuketa Date: 2014-08-29T22:51:31+09:00 Subject: [ruby-list:49937] Re: [質問] RubyからIE操作 ie.Document.All.???.click 助田です。 On Fri, Aug 29, 2014 at 11:11:46AM +0900, yamataka@u08.itscom.net wrote: > > ページを見たのですが、私の理解力不足で、うまく動作するコードが書けないの > で、 > もう一度、質問を整理すると、 > > 下記のスクリプトの、 > > # "勤務 login" ボタンを押し、勤務管理画面に遷移 (1) > の部分で、遷移する事は、正常に動作確認済み > > # 勤務画面が二つのフレームで構成されており、左側のフレームの「勤務一覧」 > リンクを押す > 「ここの部分のコードをどのように記載すればいいのか?」 > ご教示いただけますでしょうか? どんな風に書いて動作しないのか、動作しないコードも書いておくと アドバイスする方も質問に答えやすいと思いますよ。 で、試していないので、動くかどうかわかりませんが、 遷移したあとで、 # フレームのコレクションを取得 frame_collection = ie.Document.frames # 左側のフレームを取得。 # ここでは左側のフレームが仮に1番目のフレームだと仮定しています。 # もしかしたらitem(1) や item(2) など1番目のフレームじゃないかも # 知れません。 target_frame = frame_collection.item(0) # 左側のフレームのドキュメントを取得 document = target_frame.document # ドキュメントの中のリンクのコレクションを取得 link_collection = document.body.all.tags("A") # リンクのコレクションの中から「勤務一覧」に一致する # リンクを探して見つかったらクリック link_collection.each {|link| if link.innerText == "勤務一覧" link.click end } 上のスクリプトは、 http://www.tech-notes.dyndns.org/win32ole/ie_ctrl.html のページの中ほどの 「IEのDocumentオブジェクトの使い方」 「タグエレメントの使い方」 の説明にあるコードを組み合わせて引用しただけです。読み比べてみてください。 助田