我想获取网站的html源代码,其内容部分由javascript生成。
我使用Xcode 9.2和Swift 4以及我为macOS编码。
我的想法是在我的故事板上添加一个WebKit View,并用javascript读出读出所需的id。
import Cocoa
import WebKit
class ViewController: NSViewController, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.getElementById('player').innerHTML.toString()", completionHandler: {(html: Any?, error: Error?) -> Void in
print(html)
})
}
override func viewDidLoad() {
super.viewDidLoad()
webView.navigationDelegate = self
let url = URL(string: "https://www.youtube.com/watch?v=EwY6doa-0Bg")
let urlreq = URLRequest(url: url!)
webView.load(urlreq)
}
}
不幸的是,输出仍然不包含生成的HTML源。 你有什么想法我可以继续吗?