【问题标题】:VB.NET Grab URL From Webbrowser1 [closed]VB.NET 从 Webbrowser1 获取 URL [关闭]
【发布时间】:2011-10-20 20:34:54
【问题描述】:

如何获取此网址并将其粘贴到文本框中?

注销(Kassy Daniels)·帮助

从这个在 webbrowser1 中

我希望它获取 /logout.php? url 因为每个用户都不一样

点击按钮时将其粘贴到文本框1

【问题讨论】:

  • 请举个更好的例子说明。
  • 在 facebook 的移动网站上,文本中有一个注销按钮,我希望该按钮将该 certin 注销链接的文本粘贴到 textbox1 中,并且浏览器也在程序内部
  • 你知道这个按钮的ID吗?
  • 它不是一个按钮,它是一个链接...带有文字这里有一张图片i56.tinypic.com/n1qqo4.png 看看我的帖子上面的 html 按钮我想要它在你按下按钮的地方它会抓取链接并将其粘贴到文本框1
  • 你能让这个工作吗?

标签: vb.net


【解决方案1】:

假设你的浏览器是WebBrowser1

使用WebBrowser1.Document.Links 将为您提供页面上所有链接的HTMLElementCollection

您可以遍历这些,并检查每个链接的 OuterHtml 元素(这将为您提供一个包含原始链接、ID 等的字符串)以查找您正在寻找的文本(在此案例logout?)。

使用 substring 命令,提取该 URL,并消除周围的文本,然后您可以将其直接插入文本框。

更新:使用 Firebug 或者你喜欢的 DOM 工具,可以发现注销链接在文档的根 div 中

    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

如果页面结构发生变化,这应该有一定的弹性,但您可能需要进一步概括它。处理 stringofLink 但是您想将其分解(找到您需要的&符号,然后从问号复制到该点)。

【讨论】:

  • 它似乎比这更复杂,因为注销链接不在第一级链接中 - 我已经检查了四级深度并没有找到它。
  • @Matt 有可能。我无法访问移动 Facebook 网站来测试这一点,但总的来说,我制定的步骤可以完成工作。网站作者可能会进行一些轻微的混淆,以阻止人们进行此类活动,我不知道。
  • Jonsca 你可以去m.facebook.com
  • @Kassy 我打开了该网站,但我看不到该链接在页面上的位置。
  • @jonsca - 注销位于窗口的右下角(您必须登录才能看到它)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 2018-09-12
  • 2013-07-31
相关资源
最近更新 更多