VB.net - WebBrowser関連
・リファラーを操作する
WebBrowser.Navigate("アクセス先URL", Nothing, New Byte() {}, "Referer: リファラURL" & vbCrLf)
リファラURLと書かれている部分に、リファラのURLを記述する。
############################################
・DocumentCompleted イベントで全体の読み込み完了を待つ
If e.Url = DirectCast(sender, WebBrowser).Url then
'読み込み完了時の処理
End If
############################################
・指定タグのValue値を取得する
TagVal = WebBrowser.Document.GetElementsByTagName("タグ名(inputなど)")(A).GetAttribute("value")
(A) = 数字(インデックス) 同じ部品がある場合に調整 0~
TagVal = 指定タグのValue値
############################################
・指定タグのValue値を設定する (テキストボックスに値を入力する。など)
WebBrowser.Document.GetElementsByTagName("タグ名(input)")(A).SetAttribute("value") = "設定する値"
(A) = 数字(インデックス) 同じ部品がある場合に調整 0~
############################################
・Selectタグ間におけるOptionタグのValue値を取得する
Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option")(A).GetAttribute("value")
(A) = 数字(インデックス) Value値を取得するOptionの番号 0~
############################################
・チェックボックスやラジオボタンをクリックしてチェック(有効に)する
WebBrowser.Document.All.GetElementsByName("nameの値")(A).InvokeMember("click")
nameの値 = チェックしたい部品のタグのNameに指定されている値
(A) = 数字(インデックス) 同じ名前の部品がある場合に調整。 0 ~
############################################
・送信ボタンを押す
WebBrowser.Document.Forms(A).InvokeMember("submit")
(A) = 数字(インデックス) Formタグが幾つかある場合に調整。 0~
############################################
・name値が無い場合、ボタンのValueの値で押すボタンを判断する
For A=0 to WebBrowser.Document.GetElementsByTagName("タグ名(inputなど)").Count -1
'指定タグの中でValue値が一致した場合
If WebBrowser.Document.GetElementsByTagName("タグ名(input)")(A).GetAttribute("value")= "押すボタンのValue値"
WebBrowser.Document.GetElementsByTagName("タグ名(input)")(A).InvokeMember("click") 'ボタンをクリック
Exit For 'ループを抜け出す
End If
Next A
(A) = 数字(インデックス) 同じ名前の部品がある場合に調整。 0~
############################################
・Selectタグ間のOptionのテキストを取得
<select name="test">
<option value="1">項目1
<option value="2">項目2
</select>
-----------------------------------------------------------------------------
GetText = Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option")(A).InnerHtml
(A) = 数字(インデックス) Value値を取得するOptionの番号 0~
GetText = Optionに指定されたテキスト
上記での例
A = 0 を指定した場合 GetText = 項目1
A = 1 を指定した場合 GetText = 項目2
が代入されます。
------------------------------------------------------------------------------
・Optionのテキストを全て取得して、Windowフォーム上のListBox1に表示する
For A = 0 To Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option").Count - 1
ListBox1.Items.Add(Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option")(A).InnerHtml)
Next A
############################################
分りづらい気がするけどw
とりあえず、こんな感じでメモ。
WebBrowser.Navigate("アクセス先URL", Nothing, New Byte() {}, "Referer: リファラURL" & vbCrLf)
リファラURLと書かれている部分に、リファラのURLを記述する。
############################################
・DocumentCompleted イベントで全体の読み込み完了を待つ
If e.Url = DirectCast(sender, WebBrowser).Url then
'読み込み完了時の処理
End If
############################################
・指定タグのValue値を取得する
TagVal = WebBrowser.Document.GetElementsByTagName("タグ名(inputなど)")(A).GetAttribute("value")
(A) = 数字(インデックス) 同じ部品がある場合に調整 0~
TagVal = 指定タグのValue値
############################################
・指定タグのValue値を設定する (テキストボックスに値を入力する。など)
WebBrowser.Document.GetElementsByTagName("タグ名(input)")(A).SetAttribute("value") = "設定する値"
(A) = 数字(インデックス) 同じ部品がある場合に調整 0~
############################################
・Selectタグ間におけるOptionタグのValue値を取得する
Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option")(A).GetAttribute("value")
(A) = 数字(インデックス) Value値を取得するOptionの番号 0~
############################################
・チェックボックスやラジオボタンをクリックしてチェック(有効に)する
WebBrowser.Document.All.GetElementsByName("nameの値")(A).InvokeMember("click")
nameの値 = チェックしたい部品のタグのNameに指定されている値
(A) = 数字(インデックス) 同じ名前の部品がある場合に調整。 0 ~
############################################
・送信ボタンを押す
WebBrowser.Document.Forms(A).InvokeMember("submit")
(A) = 数字(インデックス) Formタグが幾つかある場合に調整。 0~
############################################
・name値が無い場合、ボタンのValueの値で押すボタンを判断する
For A=0 to WebBrowser.Document.GetElementsByTagName("タグ名(inputなど)").Count -1
'指定タグの中でValue値が一致した場合
If WebBrowser.Document.GetElementsByTagName("タグ名(input)")(A).GetAttribute("value")= "押すボタンのValue値"
WebBrowser.Document.GetElementsByTagName("タグ名(input)")(A).InvokeMember("click") 'ボタンをクリック
Exit For 'ループを抜け出す
End If
Next A
(A) = 数字(インデックス) 同じ名前の部品がある場合に調整。 0~
############################################
・Selectタグ間のOptionのテキストを取得
<select name="test">
<option value="1">項目1
<option value="2">項目2
</select>
-----------------------------------------------------------------------------
GetText = Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option")(A).InnerHtml
(A) = 数字(インデックス) Value値を取得するOptionの番号 0~
GetText = Optionに指定されたテキスト
上記での例
A = 0 を指定した場合 GetText = 項目1
A = 1 を指定した場合 GetText = 項目2
が代入されます。
------------------------------------------------------------------------------
・Optionのテキストを全て取得して、Windowフォーム上のListBox1に表示する
For A = 0 To Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option").Count - 1
ListBox1.Items.Add(Web.Document.All.GetElementsByName("SelectタグのName値")(0).GetElementsByTagName("option")(A).InnerHtml)
Next A
############################################
分りづらい気がするけどw
とりあえず、こんな感じでメモ。
▼コメント▼
書き込みはありません。