我正在尝试在WebView
上用程序执行javascript
。
这是我的代码:
private async void wbView1_Navigated(object sender, WebNavigatedEventArgs e)
{
var result = await wbView1.EvaluateJavaScriptAsync("document.getElementByClassName('load_more_btn ib');");
await Task.Delay(10);
}
这是页面上的HTML:
<div class="center ib-parent">
<a data-load="loadmore_category" href="#" class="load_more_btn ib">Load more</a>
</div>
它是一个";加载更多";按钮,它实际上加载了更多的内容,并让我可以访问我需要的信息。显然,EvaluateJavaScriptAsync
并没有在这里发挥作用。它不是点击按钮或执行加载更多内容所需的javascript。这是正确的方式吗;点击按钮";在WebView
?
好吧,多亏了Jason,我找到了一些好的方向,并使它发挥了作用。确切地说,getElementsByClassName";返回所有子元素的类似数组的对象";。由于它是一个数组,所以只需在单击之前选择数组的第一个元素就可以了。
var result = await wbView1.EvaluateJavaScriptAsync("document.getElementsByClassName('load_more_btn ib')[0].click();");