使用EvaluateJavaScript单击按钮时出现意外行为

使用EvaluateJavaScript单击按钮时出现意外行为,javascript,ios,swift,wkwebview,Javascript,Ios,Swift,Wkwebview,我有一个UIViewController,它有一个WKWebView,可以加载一个特定的视图,其中有一个按钮需要自动单击。为了解决这个问题,我使用了WKNavigationDelegate协议函数didfish和利用WKWebView的evaluateJavaScript方法。这是我的实现 func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { webView.evaluateJ

我有一个UIViewController,它有一个WKWebView,可以加载一个特定的视图,其中有一个按钮需要自动单击。为了解决这个问题,我使用了WKNavigationDelegate协议函数
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)")
    }
}

你明白了吗?我用这个问题中公认的答案来解决这个问题