Suche…


Einführung

Dieses Dokument zeigt Ihnen, wie Sie JavaScript in WebView verwenden können.

Inhalt dieses Dokuments: HTML aus der WebView abrufen, Text in das Textfeld der Website eingeben, Simulieren klicken, um eine Website-Schaltfläche zu klicken

Syntax

  • await webView.InvokeScriptAsync("eval", new string[] { functionString }) , um JavaScript zu verwenden
  • .documentElement , um einen Verweis auf den .documentElement des Dokuments zu erhalten
  • .getElementsByClassName(Class_Name) - um Elemente mit Klassennamen zu erhalten
  • .getElementsByTagName(Tab_Name) - um Elemente mit Tag-Namen .getElementsByTagName(Tab_Name)
  • .getElementById(ID) - um das Element mithilfe der ID .getElementById(ID)
  • .nodeName - um den Knotennamen zu erhalten
  • .childNodes - um die .childNodes Elemente .childNodes
  • .outerHTML - um das äußere HTML zu erhalten
  • .innerHTML - um das Innere HTML zu erhalten
  • .innerText - zum Abrufen oder Festlegen von InnerText
  • .click() - um den Klick zu simulieren

Bemerkungen

Hier ist eine Beispielanwendung zum Anmelden bei StackOverFlow

HTML aus dem WebView holen

Verwenden Sie .outerHTML , um den HTML- .outerHTML

Hier ist ein Codebeispiel, um den gesamten HTML-Code der Website abzurufen

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

Eingeben von Text in das Textfeld der Website

Verwenden Sie .innerText , um den Wert .innerText

Hier ist ein Codebeispiel für die Eingabe von Text in das Suchfeld auf der Bing-Website

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 });
}

Simulieren Klicken, um eine Website-Schaltfläche zu klicken

Verwenden Sie .click() , um den Klick zu simulieren

Hier ein Codebeispiel zum Klicken auf die Schaltfläche "Suchen" auf der Bing-Website

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow