gpt4 book ai didi

ios - UIWebViewDelegate DidFinishLoad 未在自定义类中触发(Swift)

转载 作者:行者123 更新时间:2023-11-28 09:20:54 25 4
gpt4 key购买 nike

我正在连接到一个网站,登录并使用 NSURLRequest 获取页面的 HTML 源代码,这一切正常。我通过将它打印到控制台来确认 html 源是我需要的。问题是我需要在 javascript 代码完成后获取呈现的 HTML。根据我的研究,执行此操作的唯一方法是将其加载到我正在尝试执行的 UIWebView 中。但是,当我这样做时,webViewDidFinishLoad 委托(delegate)永远不会触发。 webViewDidStartLoad 也没有。我不想在任何地方显示 UIWebView,因为它的唯一目的是为我获取呈现的 HTML。到目前为止,这是我的代码:

import UIKit

class ShowParser : NSObject, UIWebViewDelegate
{
var webView = UIWebView()

init()
{
super.init()
webView.delegate = self
sendRequest()
}

funs sendRequest()
{
var requestUrl = NSURL(string: "<website>")
var baseUrl = NSURL(string: "<website>")
var nsurlRequest = NSMutableURLRequest(URL: requestUrl)
nsurlRequest.HTTPMethod = "POST"
nsurlRequest.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
var submitData = "submit=login&lastplace=&email=<username>&password=<password>"
var requestBodyData = submitData.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
nsurlRequest.HTTPBody = requestBodyData
var data = NSURLConnection.sendSynchronousRequest(nsurlRequest, returningResponse: nil, error: nil)
var dataResultsString = NSString(data: data, encoding: NSUTF8StringEncoding)
//println(dataResultsString)
webView.loadHTMLString(dataResultsString, baseURL: baseUrl)
}

func webViewDidStartLoad(webView: UIWebView!)
{
println("Started Loading")
}

func webViewDidFinishLoad(webView: UIWebView)
{
println("Finished Loading")
}
}

最佳答案

已经回答了here但如果有人遇到这个问题,那么只需添加以下内容即可:

    theWebPage.delegate = self

我可以看到您确实添加了它,所以我认为它已经被编辑过了。

关于ios - UIWebViewDelegate DidFinishLoad 未在自定义类中触发(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24703034/

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