Sök…


Introduktion

Detta dokument visar hur du kan använda JavaScript i WebView.

Detta dokumentomslag: Hämta HTML från WebView, mata in text i textrutan på webbplatsen, simulera klicka för att klicka på en webbplats-knapp

Syntax

  • await webView.InvokeScriptAsync("eval", new string[] { functionString }) - för att använda JavaScript
  • .documentElement - för att få en referens till dokumentets rotnod
  • .getElementsByClassName(Class_Name) - för att få element att ange klassnamn
  • .getElementsByTagName(Tab_Name) - för att få element med tagnamn
  • .getElementById(ID) - för att få element med ID
  • .nodeName - för att få nodnamnet
  • .childNodes - för att få .childNodes
  • .outerHTML - för att få den yttre HTML
  • .innerHTML - för att få inre HTML
  • .innerText - för att få eller ställa in InnerText
  • .click() - för att simulera klicka

Anmärkningar

Här är en exempelapp för att logga in till StackOverFlow

Hämta HTML från WebView

Använd .outerHTML att få HTML

Här är ett kodeksempel för att få hela HTML-koden på webbplatsen

private async void GetHTMLAsync()
{
    var siteHtML = await webView.InvokeScriptAsync("eval", new string[] { "document.documentElement.outerHTML;" });
}

Mata in text i textrutan på webbplatsen

Använd .innerText att ställa in värdet

Här är ett kodeksempel för att ange text i sökrutan på Bings webbplats

private async void EnterTextAsync(string enterText)
{
    var functionString = string.Format(@"document.getElementsByClassName('b_searchbox')[0].innerText = '{0}';", enterText);
    await webView.InvokeScriptAsync("eval", new string[] { functionString });
}

Simulera klicka för att klicka på en webbplats-knapp

Använd .click() att simulera klick

Här är ett kodeksempel för att klicka på sökknappen på Bings webbplats

private async void SimulateClickAsync()
{
    var functionString = string.Format(@"document.getElementsByClassName('b_searchboxSubmit')[0].click();");
    await webView.InvokeScriptAsync("eval", new string[] { functionString });
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow