使用EvaluateJavaScript单击按钮时出现意外行为
我有一个UIViewController,它有一个WKWebView,可以加载一个特定的视图,其中有一个按钮需要自动单击。为了解决这个问题,我使用了WKNavigationDelegate协议函数使用EvaluateJavaScript单击按钮时出现意外行为,javascript,ios,swift,wkwebview,Javascript,Ios,Swift,Wkwebview,我有一个UIViewController,它有一个WKWebView,可以加载一个特定的视图,其中有一个按钮需要自动单击。为了解决这个问题,我使用了WKNavigationDelegate协议函数didfish和利用WKWebView的evaluateJavaScript方法。这是我的实现 func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { webView.evaluateJ
didfish
和利用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)")
}
}
因此,一旦加载页面,我将尝试单击屏幕上的某个按钮(请记住,在这个特定的页面视图中只有一个按钮具有此类名)。当此代码运行时,会打印出结果
和错误
,并且它们都是nil
。但是,该按钮未被单击,WKWebView从未重定向到该按钮链接的链接
怎么可能没有错误
但什么也没有发生
我是否错过了某种导航设置或其他什么?我想你错过了在脚本内部。试试这个
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.getElementsByClassName('myButtonClass')[0].click();") { (result, error) in
print("ERROR: \(error)")
print("RESULT: \(result)")
}
}
你明白了吗?我用这个问题中公认的答案来解决这个问题