Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在URLSession中等待脚本_Javascript_Html_Swift_Parsing_Url - Fatal编程技术网

Javascript 在URLSession中等待脚本

Javascript 在URLSession中等待脚本,javascript,html,swift,parsing,url,Javascript,Html,Swift,Parsing,Url,我正在尝试解析此网球统计网站: 当我在Chrome中打开页面并检查它时,有一个div元素,其类为:“row” 当我在Swift应用程序中发出Url请求时,如下所示: let task = URLSession.shared.dataTask(with: url) { (dat, response, err) in if let error = err{ print(error) }else{

我正在尝试解析此网球统计网站:

当我在Chrome中打开页面并检查它时,有一个div元素,其类为:“row”

当我在Swift应用程序中发出Url请求时,如下所示:

let task = URLSession.shared.dataTask(with: url) { (dat, response, err) in
            if let error = err{
                print(error)
            }else{
                guard let data = dat else {
                    return
                }
                if let htmlString = NSString(data: data, encoding: String.Encoding.utf8.rawValue) {
                    // continue to work with the html string here 
                }else{
                    print("Error no htmlString")
                }
            }
        }
        task.resume()
然后打印出html,在我希望找到类为“row”的div的地方,我得到了一个类为“loading”的div

我想这可能是因为网站上的脚本还没有运行。 如何修复此问题并让脚本运行并等待回调? 或者我如何才能解决这个问题?
提前谢谢。

我通过在webView中加载链接并在短时间延迟后提取html解决了这个问题。 这是我的密码:

let url = URL(string: "https://www.ultimatetennisstatistics.com/playerProfile?playerId=3333#")!
    let request = URLRequest(url: url)
    webview.load(request)
    DispatchQueue.main.asyncAfter(deadline: .now() + 5.0) {
        self.webview.evaluateJavaScript("document.documentElement.outerHTML") { (was, err) in
            if let doc = was {
                print(doc)
            }else{
                print(err!)
            }
        }
    }
编辑:

另一种方法是使用无头浏览器