Buscar..


Introducción

Este documento le muestra cómo puede utilizar JavaScript en WebView.

Este documento cubre: Obtención de HTML desde la vista web, Introducción de texto en el cuadro de texto en el sitio web, Simular, haga clic para hacer clic en un botón del sitio web

Sintaxis

  • await webView.InvokeScriptAsync("eval", new string[] { functionString }) - para usar JavaScript
  • .documentElement - para obtener una referencia al nodo raíz del documento
  • .getElementsByClassName(Class_Name) - para obtener elementos que usen Class Name
  • .getElementsByTagName(Tab_Name) - para obtener elementos usando el nombre de etiqueta
  • .getElementById(ID) : para obtener el elemento mediante ID
  • .nodeName - para obtener el nombre del nodo
  • .childNodes - para obtener los elementos hijos
  • .outerHTML - para obtener el HTML externo
  • .innerHTML - para obtener el HTML interno
  • .innerText - para obtener o establecer InnerText
  • .click() - para simular click

Observaciones

Aquí hay una aplicación de ejemplo para iniciar sesión en StackOverFlow

Obteniendo HTML de la WebView

Usa .outerHTML para obtener el HTML

Aquí hay un ejemplo de código para obtener el código HTML completo del sitio web.

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

Introducción de texto en el cuadro de texto del sitio web.

Use .innerText para establecer el valor

Aquí hay un ejemplo de código para ingresar texto en el cuadro de búsqueda en el sitio web de 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 });
}

Simular clic para hacer clic en el botón de un sitio web

Utilice .click() para simular un clic

Aquí hay un ejemplo de código para hacer clic en el botón de búsqueda en el sitio web de 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow