WebBrowserで表示されているページのDropDownListをVBで変更するには?

解決


Kai  2005-11-23 09:27:07  No: 92834

VB.NET2003で、WebBrowserを使用してページの操作を行うツールを作成していますが、
テキストボックスの設定、チェックボックスのOnOff、ボタンのClickは行えたのですが、ドロップダウンリストの内容変更がどうしても行えません。
Me.AxWebBrowser1.Document.Forms(0).name.items(1).Selected  = true
等、いろいろと試したのですが、駄目でした。
どなたか、ご存知の方、VB6での方法でも構いませんので、よろしくお願いします。


ヤマ@文系  2005-11-23 09:49:07  No: 92835

Valueプロパティ変えてみましょう。


魔界の仮面弁士  2005-11-23 10:56:43  No: 92836

> Me.AxWebBrowser1.Document.Forms(0).name.items(1).Selected  = true

mulipleな <select> ならともかく、ドロップダウンの <select> であれば、
<option>のselectedプロパティよりも、<select>のselectedIndex プロパティを
使った方が楽だと思いますよ。


Kai  2005-11-23 17:22:41  No: 92837

ヤマ@文系さん、魔界の仮面弁士さんご意見ありがとうございます。

Value = '1'
selectedIndex = 1

など試してみましたが、値がNothingに変わるだけで画面上に変化ありませんでした。

参考例などあれば、掲載をお願いします。


魔界の仮面弁士  2005-11-23 23:14:07  No: 92838

> 値がNothingに変わるだけで
何の値が Nothing になったのでしょうか?


Kai  2005-11-24 01:41:16  No: 92839

>何の値が Nothing になったのでしょうか?
Value = '1'
selectedIndex = 1
上記の設定でValueの内容がNothing に変わりました。

今、調査していたところ、ReadyStateが3の時に処理を行っているのですが、
innerTEXTが一つしか存在しませんでした。
ページが完全に表示されるまで待ってから再実行するようにして見ます。

Public sub AxWebBrowser1_DownloadComplete 
       If CInt(Me.AxWebBrowser1.ReadyState) >= 3 Then  ←  >= 4
  
            Select Case Me.AxWebBrowser1.Document.title
                Case "あ"
                    Me.AxWebBrowser1.Document.Forms(0).name.value = "aa"
                    Me.AxWebBrowser1.Document.Forms(0).submit.Click()

                Case "い"
                    Me.AxWebBrowser1.Document.Forms(0).submit.Click()

                Case "う"
                    Me.AxWebBrowser1.Document.Forms(0).submit.Click()

            End Select

        End If
End Sub
一旦解決と致します。
ご意見頂いた、ヤマ@文系さんと魔界の仮面弁士さんご意見ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加