実現したいこと
VBAで下記サイトの表示区分:「受付終了済み」を選択し、「検索」ボタンをクリックしたい。
https://www.e-rad.go.jp/offer_list.html
発生している問題・分からないこと
表示区分:「受付終了済み」が選択されているのは確認済。
ただ、検索ボタンがクリックされて検索結果が表示されない。
また、IEブラウザ上でもクリックボタンが反応しない。
chrome、edgeは反応することは確認済
該当のソースコード
Sub ScrapeERad() Dim ie As Object Dim doc As Object Dim iframe As Object Dim iframeDoc As Object Dim url As String ' URL設定 url = "https://www.e-rad.go.jp/offer_list.html" ' IEの起動 Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.navigate url ' ページの読み込みを待機 Do While ie.Busy Or ie.readyState <> 4 DoEvents Loop ' ドキュメントの取得 Set doc = ie.document ' iframeの取得 Set iframe = doc.getElementsByTagName("iframe")(0) If iframe Is Nothing Then MsgBox "iframeが見つかりません。" Exit Sub End If ' iframeのドキュメントを取得 Set iframeDoc = iframe.contentWindow.document ' 受付終了済みのラジオボタンを選択 On Error Resume Next iframeDoc.getElementsByName("hyojiKb")(1).Click On Error GoTo 0 ' 検索ボタンのクリックイベントをJavaScriptで発火 ExecuteScript ie, "document.querySelector('iframe').contentWindow.Util.submitAction2(document.querySelector('iframe').contentWindow.document.querySelector('a[onclick*=koboIchiranSearch]'), 'koboIchiranSearch');" ' 検索結果が表示されるまで待機 (最大1分間) Dim startTime As Double startTime = Timer Do DoEvents If Timer - startTime > 60 Then Exit Do Loop ' IEを閉じる ie.Quit Set ie = Nothing End Sub Private Sub ExecuteScript(ie As Object, script As String) Dim doc As Object Set doc = ie.document doc.parentWindow.execScript script, "JavaScript" End Sub
試したこと・調べたこと
上記の詳細・結果
https://teratail.com/questions/354113
補足
特になし
0 コメント