수색…


소개

이 문서는 WebView에서 JavaScript를 사용하는 방법을 보여줍니다.

이 문서에서는 다음 내용을 다룹니다. WebView에서 HTML 가져 오기, 웹 사이트의 텍스트 상자에 텍스트 입력, 시뮬레이션을 클릭하여 웹 사이트 단추 클릭

통사론

  • await webView.InvokeScriptAsync("eval", new string[] { functionString }) 자바 스크립트 사용을 await webView.InvokeScriptAsync("eval", new string[] { functionString })
  • .documentElement - 문서의 루트 노드에 대한 참조를 가져 오는
  • .getElementsByClassName(Class_Name) - 요소를 얻으려면 클래스 이름을 사용합니다.
  • .getElementsByTagName(Tab_Name) - 태그 이름을 사용하여 요소를 가져옵니다.
  • .getElementById(ID) - ID를 사용하여 요소를 가져옵니다.
  • .nodeName - 노드 명을 얻는다.
  • .childNodes - 아이 요소를 취득하기 위해서
  • .outerHTML - 외부 HTML .outerHTML
  • .innerHTML - 내부 HTML 가져 .innerHTML
  • .innerText - InnerText를 가져 오거나 설정하려면
  • .click() - 클릭 시뮬레이션

비고

다음은 StackOverFlow에 로그인 하는 샘플 앱입니다.

WebView에서 HTML 가져 오기

.outerHTML 을 사용하여 HTML 가져 오기

다음은 웹 사이트의 전체 HTML을 가져 오는 코드 샘플입니다.

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

웹 사이트의 텍스트 상자에 텍스트 입력하기

.innerText 를 사용하여 값 설정

다음은 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 });
}

시뮬레이션을 클릭하여 웹 사이트 버튼 클릭

클릭을 시뮬레이션하려면 .click() 을 사용하십시오.

다음은 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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow