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