uwp
Korzystanie z JavaScript w WebView
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
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