Get Source Code from Webview (VB for Metro)

会有一股神秘感。 提交于 2021-01-27 13:36:39

问题


I'm Making a Windows Phone's app that I can, From a webview called "DebWeb", get the ClassRoom of a specific class. The DebWeb load the site where is all the classRooms, but I want to make that my App search just my class.

Before I made an app with almost the same objetive (search the Name of a App from the Source Code), but it was made from VB for PC, now I'm working on VB for Metro (or for App Store) and I can't use the same code.

For example, On VB for PC I can use:

Dim EHTML = DebWeb.Document.All.Item(1)
Dim sourceString As String = EHTML.InnerHtml
'Use Regex Match to search from SourceString"

But on VB for Metro it's shows me the " 'Document' is not a member of 'Windows.UI.XAML.Controls.WebView' " error, so I can't get the Source Code from the page and I can't look for the ClassRoom.

I Looked on the MSDN page about Webview but the most close thing that I can do is to get the "DocumentTittle", but not the content.

This is my code, everything "works" except the "Source" variable:

    Dim Source = DebWeb.[Control] 'Here is where I need the Control to get the SourceCode
    Dim m As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(Source.ToString, _
    "DERECHO CONSTITUCIONAL", _
    System.Text.RegularExpressions.RegexOptions.IgnoreCase)

Edited with my Entire code:

Private Sub MainPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded

    Dim URL As String = "http://goo.gl/uqohKw"
    Me.DebWeb.Navigate(New Uri(URL))
End Sub

Private Sub DebWeb_LoadCompleted(ByVal sender As Object, ByVal e As WebViewNavigationCompletedEventArgs)
    LListo.Text = "Listo!"
    Dim html As String = DebWeb.InvokeScriptAsync("eval", New String() {"document.documentElement.outerHTML;"}).ToString
    Dim Source = html
    Dim m As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(Source.ToString, _
    "LECTURA CRÍTICA", _
    System.Text.RegularExpressions.RegexOptions.IgnoreCase)
    If (m.Success) Then
        Dim key As String = m.Groups(1).Value

    End If
End Sub

回答1:


Something like this?

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    Try
        Dim html As String = Await myWebView.InvokeScriptAsync("eval", New String() {"document.documentElement.outerHTML;"})
    Catch ex As Exception
    End Try
End Sub

More Info here



来源:https://stackoverflow.com/questions/29654149/get-source-code-from-webview-vb-for-metro

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!