1

Web サイトを開いてログインし、その後レポートを実行するコードを VB.net で作成しようとしています。Web サイトからいずれかを取得しようとすると、すべて正常に機能していますが、OnClick プロパティ内にこの命令があるものは = "return oamSubmitForm('inputParamView:paramForm','inputParamView:paramForm:_idJsp106');" です。

基本的に、次のコードを見ると、いくつかの CheckBox をクリックすると問題なく動作することがわかりますが、ボタンを取得すると入力が入力されず、実際には Web サイトのリンクが表示されます。デバッグ中に whatc を使用します。

これは私のコードです(ログインセクションをスキップしました):

Private Sub open Page()
ieb = New SHDocVw.InternetExplorerMedium()
ieb.Navigate("http://example.example/qptheme2/pages/index.faces")
ieb.visible = True
ieb.Silent = True

While Not (ieb.ReadyState = WebBrowserReadyState.Complete)
    Application.DoEvents()
End While

If v.checked = False Then
    v.Click()
End If

v = ie.Document.GetElementById("inputParamView:paramForm:inputParametertuesday")

If v.checked = False Then
    v.Click()
End If

v = ie.Document.GetElementById("inputParamView:paramForm:_idJsp106")

v.Click() '<-- IT FAILS HERE Exception HRESULT: 0x800A01B6

時計を確認すると、mshtml.HTMLAnchorElementClass { http://example.example/qpreport/savedpages/savedReports.faces# } が表示されます。ページのソース コードを確認すると、これが取得しようとしている要素です。

<a id="inputParamView:paramForm:_idJsp106" onclick="return
oamSubmitForm('inputParamView:paramForm','inputParamView:paramForm:_idJsp106');" href="#"

プロパティ OnClick と関係があるかどうかはわかりません。

この問題を解決するために、ご協力をお願いいたします。

4

1 に答える 1

2

私は自分で解決策を見つけました。その後、mshtml.HTMLAnchorElementClass として取得していた要素をインスタンス化するだけで、それをクリックすることができました。

Dim l As mshtml.HTMLAnchorElementClass = ieb.Document.GetElementById("inputParamView:paramForm:_idJsp106")
l.click()
于 2014-09-25T18:05:27.043 に答える