Szukaj…


Wprowadzenie

Ten dokument pokazuje, jak używać JavaScript w WebView.

Dokument obejmuje: Pobieranie HTML z WebView, Wprowadzanie tekstu w polu tekstowym na stronie internetowej, Symulowanie kliknięcia, aby kliknąć przycisk strony internetowej

Składnia

  • await webView.InvokeScriptAsync("eval", new string[] { functionString }) - aby użyć JavaScript
  • .documentElement - aby uzyskać odwołanie do węzła głównego dokumentu
  • .getElementsByClassName(Class_Name) - aby uzyskać elementy określające nazwę klasy
  • .getElementsByTagName(Tab_Name) - aby uzyskać elementy przy użyciu nazwy znacznika
  • .getElementById(ID) - aby uzyskać element przy użyciu identyfikatora
  • .nodeName - aby uzyskać nazwę węzła
  • .childNodes - aby uzyskać elementy potomne
  • .outerHTML - aby uzyskać zewnętrzny HTML
  • .innerHTML - aby uzyskać wewnętrzny HTML
  • .innerText - aby pobrać lub ustawić tekst wewnętrzny
  • .click() - aby .click() kliknięcie

Uwagi

Oto przykładowa aplikacja do zalogowania się do StackOverFlow

Pobieranie HTML z WebView

Użyj .outerHTML aby uzyskać HTML

Oto przykładowy kod, aby uzyskać cały HTML strony internetowej

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

Wprowadzanie tekstu w polu tekstowym na stronie internetowej

Użyj .innerText aby ustawić wartość

Oto przykładowy kod do wprowadzenia tekstu w polu wyszukiwania w witrynie Bing

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

Symuluj kliknij, aby kliknąć przycisk strony internetowej

Użyj .click() aby zasymulować kliknięcie

Oto przykładowy kod do kliknięcia przycisku wyszukiwania na stronie Bing

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow