gpt4 book ai didi

javascript - 通过在 WKWebView 中评估 JavaScript 来获取 HTML

转载 作者:行者123 更新时间:2023-11-30 12:02:05 24 4
gpt4 key购买 nike

我正在 iOS 应用程序中使用 WKWebView,加载网页后,我想获取 gmail.com 的 HTML。我在 ViewDidAppear 中调用的函数中有这个表达式:

func getHTML() {
webView.evaluateJavaScript("document.documentElement.outerHTML.toString()", completionHandler: { (html: Any?, error: Error?) in
print(html)
})
}

但是,当我运行此函数时,我在控制台中得到以下输出:

Optional(<html><head></head><body></body></html>)

我做错了什么? Gmail 并不是唯一给我提供此结果的网页 - 我尝试的每个页面都会给我相同的输出。

这是我的所有代码:

// MARK: Outlets
@IBOutlet weak var webView: WKWebView!

override func viewDidLoad() {
super.viewDidLoad()

let url = URL(string: "https://www.gmail.com")!
let request = URLRequest(url: url)

webView.navigationDelegate = self
self.webView.load(request)
}

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
getHTML() // the function posted above
}

最佳答案

问题是网页未完全加载!我在 ViewDidAppear 中调用我的函数,但是在我添加了一个按钮并在按下按钮时调用了 javascript 之后,我得到了我正在寻找的 HTML。

关于javascript - 通过在 WKWebView 中评估 JavaScript 来获取 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47093054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com