前提・実現したいこと
UWSCでのIE操作にかかわる質問になります。
IDに「~」を含むフォームへの入力を実現するため、
UWSCのgetElementByIdにおけるCOMエラーを回避したいと考えております。
お知恵を拝借いただけないでしょうか。
発生している問題・エラーメッセージ
COM_Error:例外が発生しました。
該当のソースコード
UWSC
1 2IE = CREATEOLEOBJ("InternetExplorer.Application") 3 IE.visible = true 4 IE.navigate("(対象のページ)") 5 6sleep(5) //ここもCOMエラーが発生するため以下のコードから置き換えている 7 //BusyWait(IE) 8 // Procedure BusyWait(ie) 9 // repeat 10 // Sleep(0.2) 11 // until (! ie.busy) and (ie.readyState=4) 12 // Fend 13 14IE = GETACTIVEOLEOBJ("InternetExplorer.Application","(ページ名)") 15 IE.document.getElementById("bbb_CC32B004~ddEEffffffffff").Value = 16"12345"
HTML
1 2<input class="aaaaat" id="bbb_CC32B004~ddEEffffffffff" value="令和元年11月日 3" ~省略~
試したこと
同一サービス内の以下のシチュエーションでは問題なく挿入できました。
違いとしてはIDに「~」という文字が入っているという点が挙げられ、それが原因でエラーとなっているのではないかという疑いを持っております。
UWSC
1IE = CREATEOLEOBJ("InternetExplorer.Application") 2 IE.visible = true 3 IE.navigate("(対象のページ)") 4 5sleep(5) //ここもCOMエラーが発生するため以下のコードから置き換えている 6 //BusyWait(IE) 7 // Procedure BusyWait(ie) 8 // repeat 9 // Sleep(0.2) 10 // until (! ie.busy) and (ie.readyState=4) 11 // Fend 12 13IE = GETACTIVEOLEOBJ("InternetExplorer.Application","(ページ名)") 14 IE.document.getElementById("xxxx_item01").Value = "000000" 15
HTML
1<td> 2<input id="xxxx_item01" type="text" name="XXXX_USERCODE" 3style="width:100px;height:15px;" tabindex=1 onfocus="addClass(this, 4'focuson');" onblur="removeClass(this, 'focuson');" /> 5</td>
あなたの回答
tips
プレビュー