我有一个UIViewController,它具有一个WKWebView,该WKWebView带有一个需要自动单击的按钮来加载特定视图。为了解决这个问题,我使用了WKNavigationDelegate协议功能didFinish
和WKWebView的evaluateJavaScript
方法。这是我的实现
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.getElementsByClassName('myButtonClass')[0].click()") { (result, error) in
print("ERROR: \(error)")
print("RESULT: \(result)")
}
}
因此,一旦页面加载完毕,我试图单击屏幕上的某个按钮(请记住,在此特定页面视图上只有一个具有此类名称的按钮)。运行此代码时,result
和error
都被打印出来,并且它们都是nil
。但是,没有单击该按钮,并且WKWebView从未重定向到该按钮链接到的链接。
怎么可能没有error
但什么也没发生?
我是否缺少某种导航设置?
答案 0 :(得分:0)
我认为您在脚本中缺少; 。试试这个
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.getElementsByClassName('myButtonClass')[0].click();") { (result, error) in
print("ERROR: \(error)")
print("RESULT: \(result)")
}
}