2011-08-05 8 views
-4

このURLを取得してテキストボックスに貼り付けるにはどうすればよいですか?WebブラウザーからVB.NETグラブURL

ログアウト(Kassyダニエルズ)・本からヘルプ

webbrowser1

に私はそれが/logout.phpをつかむしたいですか? URL各ユーザーが

異なる原因となり、あなたはあなたのウェブブラウザがWebBrowser1であると仮定すると、ボタン

+1

もっと良い例を挙げてください。 – jonsca

+0

Facebookのモバイルサイトでは、ログアウトボタンがテキストに表示されています。ボタンを押して、その証明書ログアウトリンクのテキストをtextbox1に貼り付け、ブラウザがプログラム内にあるようにします。 –

+0

このボタンのIDはわかりますか? – jonsca

答えて

1

を打ったときだけのTextBox1に貼り付け、

WebBrowser1.Document.Linksを使用すると、あなたの上のリンクのすべてのHTMLElementCollectionを取得しますページ。

これらのリンクを繰り返して、それぞれのリンクのOuterHtml要素を探してください(この場合は、生のリンク、IDなどを含む文字列が表示されます) logout?)。

substringコマンドを使用して、そのURLを抽出し、周囲のテキストを削除して、その右端をテキストボックスに差し込むことができます。

アップデート:Firebugのか、お気に入りのDOMツールを使用して、ログアウトリンクは構造内のページが変更された場合、文書

Dim rootDiv As HtmlElement = WebBrowser1.Document.GetElementById("root") 
    Dim links As HtmlElementCollection = rootDiv.GetElementsByTagName("a") 
    Dim index As Integer 
    For i As Integer = 0 To links.Count - 1 
     If links(i).InnerHtml.Contains("Logout") Then 
      index = i 
      Exit For 
     End If 
    Next i 

    Dim stringofLink As String = links(index).OuterHtml 

のルートdiv要素であり、これはそれまで、やや弾力性であることを見つけることができますしかし、それをさらに一般化する必要があるかもしれません。ただし、あなたはそれを分解して(必要なアンパサンドを見つけて、疑問符からその点にコピーする)、stringofLinkを処理します。

+0

ログアウトリンクが最初のレベルのリンクにないため、より複雑に見えます - 私は4レベルまで深くチェックし、見つからないためです。 –

+0

@Mattそれは可能です。私はこれをテストするためにモバイルFacebookのサイトにアクセスする必要はありませんが、一般的には、私が提示した手順は仕事を完了させるでしょう。この種の活動から人々を守るために、サイトの作者によって少し難読化されているかもしれませんが、わかりません。 – jonsca

+0

Jonsca http://m.facebook.com –

関連する問題