VB2005Expressで勉強中の者です。つぎのようなコードを書きたいのですがうまくゆきません。以下の動作をすべて自動でおこなう。1.Form1のWebBrowser1でYahoo!Japanのトップページを表示する。2 検索ワード入力用のテキストボックスに「ワルキューレ」と入力する。3.検索ボタンをクリックする(というイベントを起こす)ことによって検索結果画面に移行させる。1はできましたが、2でつまずいています。解法をご教示ください。WEBで検索しても、説明に使われているVBのバージョンが古かったり私の頭がお粗末だったりでした。

回答の条件
  • 1人5回まで
  • 登録:2006/05/02 20:27:18
  • 終了:2006/05/04 02:11:07

ベストアンサー

id:cx20 No.2

cx20回答回数607ベストアンサー獲得回数1082006/05/04 01:42:38

ポイント100pt

VB2005Express の環境で試してみました。

以下のような感じでいかがでしょう?

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
        ' 1. Form1のWebBrowser1でYahoo!Japanのトップページを表示する。
        WebBrowser1.Navigate("http://www.yahoo.co.jp/")
        Do While (WebBrowser1.IsBusy Or WebBrowser1.ReadyState <> WebBrowserReadyState.Complete)
            My.Application.DoEvents()
            System.Threading.Thread.Sleep(50)
        Loop
        
        ' 2. 検索ワード入力用のテキストボックスに「ワルキューレ」と入力する。
        Dim elmWord As HtmlElement
        elmWord = WebBrowser1.Document.GetElementById("fp")
        If IsNothing(elmWord) Then
            Return
        End If
        elmWord.InnerText = "ワルキューレ"
        
        ' 3.検索ボタンをクリックする
        Dim elmSearch As HtmlElement
        elmSearch = WebBrowser1.Document.GetElementById("st")
        If IsNothing(elmSearch) Then
            Return
        End If
        elmSearch.InvokeMember("click")
        
    End Sub
End Class
id:crashtruck

完全な解答ありがとうございました。またよろしくおねがいします!

2006/05/04 02:09:27

その他の回答(1件)

id:nanamasuhoshi No.1

nanamasuhoshi回答回数11ベストアンサー獲得回数02006/05/03 02:21:03

ポイント20pt

1.のとこで

http://search.yahoo.co.jp/search?p=%A5%EF%A5%EB%A5%AD%A5%E5%A1%B...

に飛ばすのはダメかな?

id:crashtruck

ダメなのです。すみません。

2006/05/03 03:16:35
id:cx20 No.2

cx20回答回数607ベストアンサー獲得回数1082006/05/04 01:42:38ここでベストアンサー

ポイント100pt

VB2005Express の環境で試してみました。

以下のような感じでいかがでしょう?

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
        ' 1. Form1のWebBrowser1でYahoo!Japanのトップページを表示する。
        WebBrowser1.Navigate("http://www.yahoo.co.jp/")
        Do While (WebBrowser1.IsBusy Or WebBrowser1.ReadyState <> WebBrowserReadyState.Complete)
            My.Application.DoEvents()
            System.Threading.Thread.Sleep(50)
        Loop
        
        ' 2. 検索ワード入力用のテキストボックスに「ワルキューレ」と入力する。
        Dim elmWord As HtmlElement
        elmWord = WebBrowser1.Document.GetElementById("fp")
        If IsNothing(elmWord) Then
            Return
        End If
        elmWord.InnerText = "ワルキューレ"
        
        ' 3.検索ボタンをクリックする
        Dim elmSearch As HtmlElement
        elmSearch = WebBrowser1.Document.GetElementById("st")
        If IsNothing(elmSearch) Then
            Return
        End If
        elmSearch.InvokeMember("click")
        
    End Sub
End Class
id:crashtruck

完全な解答ありがとうございました。またよろしくおねがいします!

2006/05/04 02:09:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません