gpt4 book ai didi

javascript - 访问 Angular 生成的内容时,evaluateJavaScript() 无法获取稳定的内容?

转载 作者:行者123 更新时间:2023-11-28 04:43:04 28 4
gpt4 key购买 nike

我的网页中有一个带有 id test 的 p 标签,当我按如下方式放置时,一切正常。

html,

<p id="test">hhhhhhhhhhhh</p>
<body ng-app="home" ng-controller="HomeController" style="min-height:700px;">
<printerinfo></printerinfo>
</body>

swift 3,

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.wk.evaluateJavaScript("document.getElementById('test').innerHTML;") { (result, error) -> Void in
->
if error != nil {
print(error)
}
print(result)
}
}

当我将 p 标签移至模板 PrinterInfo 时,我得到

UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: null is not an object (evaluating 'document.getElementById('test').innerHTML')

大部分情况,其余情况效果很好Optional(hhhhhhhh)

这里是从Safari技术预览的开发> iPhone设备名称的窗口中查看的ios wkwebview页面内容。我可以从控制台访问innerHTML。 enter image description here

现在我猜evaluateJavaScript在anjular完成提供网页之前就已经执行了。

最佳答案

这是由网页的动态内容引起的。我通过使用 javascript 检查页面何时加载,然后通知 native swift 代码执行下一步处理来解决这个问题。

有关详细信息,请查看此 post

关于javascript - 访问 Angular 生成的内容时,evaluateJavaScript() 无法获取稳定的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43606361/

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