swift - cocoa swift : Error evaluateJavaScript Optional ("A JavaScript exception occurred")

标签 swift cocoa wkwebview wknavigationdelegate

我正在用网页加载 WKWebView,我正在尝试执行 javascrip:

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { 
     webView.evaluateJavaScript("document.getElementById('someElement').innerText") { (result, error) in
        if error != nil {
            print(error?.localizedDescription ?? "")
        }
    }
}

但是我收到了这个错误:

po error
▿ Optional<Error>
  - some : Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: null is not an object (evaluating 'document.getElementById('someElement').innerText'), WKJavaScriptExceptionColumnNumber=39, WKJavaScriptExceptionSourceURL=https://somewebsite.com/, NSLocalizedDescription=A JavaScript exception occurred}

为什么我会收到此错误?你们中有人知道我做错了什么或解决此问题的方法吗?

最佳答案

如果找不到元素,document.getElementById() 将返回 null。所以我认为网页中不存在“someElement”名称。

关于swift - cocoa swift : Error evaluateJavaScript Optional ("A JavaScript exception occurred"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55736182/

相关文章:

ios - 是否有其他人在 Xcode 11(和 11.1)中使用 AVAudioPlayer 获取此控制台消息?

memory-management - Swift 协议(protocol)对象的 ARC

objective-c - 如何使用 NSNotificationCenter 传递对象

xcode - Finder 风格 NSSplitVIew - 仅在窗口调整大小时调整右侧面板的大小

ios - 如何在 wkwebview/uiwebview 中支持隐身/隐私模式

ios - 使一个小的 UIImageView 易于被点击

cocoa - NSAppearance、NSEffectView.Material 和 "Vibrancy"之间有什么关系

objective-c - 如何在 Objective-C 中使用运行时反射解析属性 getter/setter 方法选择器? (或相反)

ios - WKWebView 在加载另一个 URL 时不会重新呈现内容

ios - 如何检测正在 WKWebView 中播放的电影?