【问题标题】:Get HTML by evaluating JavaScript in a WKWebView通过在 WKWebView 中评估 JavaScript 来获取 HTML
【发布时间】:2017-11-03 10:05:39
【问题描述】:

我在我的 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
}

【问题讨论】:

    标签: javascript html ios swift wkwebview


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-02
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      相关资源
      最近更新 更多