I'm trying to simply evaluate the Javascript, but it comes up with an error. I simply want to print everything inside of 'container title'.
Hey I'm getting an error with this code:
WebView.evaluateJavaScript("document.getElementsByClassName('mdl-js').getElementsByClassName('container title')[0].innerHTML"){ (value, error) in
if error != nil {
print("Error = \(String(describing: error))")
} else {
print("Success = \(String(describing: value))")
}
}
(Note - I know how to evaluate Javascript with Swift, but can't seem to figure this one out)
I'm Getting nil for all values (evertime: even is path is correct).
My WebView is set up like this:
let preferences = WKPreferences()
preferences.javaScriptEnabled = true
preferences.javaScriptCanOpenWindowsAutomatically = true
// Create a configuration for the preferences
let configuration = WKWebViewConfiguration()
configuration.preferences = preferences
voiceWebView = WKWebView(frame: CGRect(x: page3View.frame.width * 0.0, y: page3View.frame.height * 0.0, width: page3View.frame.width, height: page3View.frame.height), configuration: configuration)
voiceWebView.backgroundColor = UIColor.clear
voiceWebView.uiDelegate = self
voiceWebView.navigationDelegate = self
voiceWebView.isUserInteractionEnabled = true
voiceWebView.alpha = 1.0
page3View.insertSubview(voiceWebView, at: 0)
page3View.bringSubview(toFront: voiceWebView)
voiceWebView.load(URLRequest(url: NSURL(string:"https://test.com")! as URL))
Update:
This prints nil
document.getElementsByClassName('container title').innerHTML
Also
document.getElementsByClassName('container title')[0].innerHTML
This alone error out this -