前提・実現したいこと
エクセルVBAでWEBシステムの自動操作を行うプログラムを作成しています。
ある画面でラジオボタンにチェックを入れたいのです。
フレームと(恐らく)aspが使用されているページなのですが、要素を取得できません。
WEBシステム画面でCTL+U →デバッガーの検索窓から該当の要素を入力し検索するとそこでは見つかります。
詳しくないのですが、ASPファイルの中にまたASPファイルがあるページ?でその中の要素(あるいは子フレーム、孫フレームの要素)を特定しようとしているのだと思っています。
発生している問題・エラーメッセージ
下記コードで探すラジオボタンが見つからずFor文を抜けてしまう。
### 該当のソースコード Dim objIE As InternetExplorer Dim objFrame As FramesCollection Dim Obj As Object Set objIE = New InternetExplorerMedium objIE.Visible = True '見えるようにする objIE.Navigate "URL" ***中略(いろいろな画面遷移)**** Set objFrame = objIE.Document.frames 'ラジオボタンをチェック(1AAAA顧客は該当のラジオボタンに含まれているワード) For Each Obj In objFrame(2).Document.getElementsByTagName("input") '表示されているサイトのタグを一つずつを変数objにセット If InStr(Obj.outerHTML, "1AAAA顧客") > 0 Then Obj.click '上記に該当するタグをクリック Exit For 'クリック後、処理を抜ける Else: End If Next ```ここに言語名を入力 VBA ### 試したこと For文の前に objFrame(2).Location.href = "url" (urlはCTL+U→デバッガー→検索窓に「1AAA顧客」を入力して見つけた要素のあるaspファイル?のurl) を入れるとラジオボタンにチェックは入れられるのですがシステム画面のウインドウ構成が変わってしまい、次の処理ができませんでした。 ### 補足情報(FW/ツールのバージョンなど) IE11 Windows10 エクセル2010 ここにより詳細な情報を記載してください。 該当ページのイメージ 確認ボタン 訂正ボタン 削除ボタン 実行ボタン |選択|名称 |更新日時 | |◎ |3AAAA顧客 |H27/7/21| |〇 |2AAAA顧客 |H27/7/21| |〇 |1AAAA顧客 |H27/7/21| ※〇がラジオボタン 「1AAA顧客」のラジオボタンを押したい
回答1件
あなたの回答
tips
プレビュー