gpt4 book ai didi

swift - 等待WKWebView评估JavaScript完成

转载 作者:行者123 更新时间:2023-11-30 11:41:44 25 4
gpt4 key购买 nike

有一个问题困扰了我几天。我正在尝试在我的 Swift 项目中使用 WKWebView 。下面是我的代码:

var items: [String] = []
for i in 0...8 {
web_view.evaluateJavaScript("document.getElementsByClassName('channels-content-item yt-shelf-grid-item')[\(i)].innerHTML") { (result, error) in
//print(result ?? "nil")
//print(error ?? "nil")

let string_result: String = String(describing: result!)
items.append(string_result)
num += 1
//print(string_result)

}
}

print(items)

我的问题是,即使 items 数组是通过这些函数填充的,程序也不会在进入 print(items) 之前等待 evaluateJavaScript 函数完成。我有什么办法可以让它发挥作用吗?任何帮助将不胜感激,提前致谢

最佳答案

我认为完成处理程序内部的内容在不同的线程上运行,这意味着它在打印发生后运行。由于注入(inject) javascript 需要更长的时间,因此您的打印很可能总是首先发生。

关于swift - 等待WKWebView评估JavaScript完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224107/

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