티스토리 뷰

내 시간 돌려줘...

 

결론은! 이렇게 해야 할 경우가 생기면, 이동하는지 여부를 

 

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {

 

함수를 통해서 미리 받아오고, Response는 다시 Alamofire로 api call을 보내서 JSON형태로 리스폰스를 받아오는게 훨씬 편하다는 것이었다. 

 

 

만약 꼭! HTML에서 긁어오고 싶다면 'SwiftSoup' 라이브러리를 쓰면 된다. 

 

https://github.com/scinfu/SwiftSoup

 

scinfu/SwiftSoup

SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS) - scinfu/SwiftSoup

github.com

      webView.evaluateJavaScript("document.documentElement.innerHTML", completionHandler: { res, error in

        if let fingerprint = res {

          do {

            let text = fingerprint as! String

            let doc: Document = try SwiftSoup.parse(text)

            let decoder = JSONDecoder()

            let response = try! decoder.decode(SendKakaoResponse.self, from: Data((try! doc.text()).utf8))

          } catch let Exception.Error(type, message) {

            print(message)

          } catch {

            print("error")

          }

        }

      })

 

이렇게 해서 받아오면 된다. 고생했다 나자신...

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함