html - 网页上的ajax完成后如何从url获取html

标签 html ajax swift web-scraping nsurlsessiondatatask

我正在用 Swift 3.0 编写一个应用程序,我正试图从网页的搜索结果中抓取数据。我通过将搜索查询作为参数包含在 url 中来执行搜索,但是返回给我的 html 没有结果。我相信这是因为网页上的 ajax 尚未完成,并且在 html 返回到我的应用程序时用搜索结果填充了 html。

问题

如何在获取 html 之前等待搜索结果加载?

编辑: 网址:https://uscdirectory.usc.edu/web/directory/faculty-staff/#basic=a

此 url 在 USC 目录中搜索字符“a”。我的 MacBook 浏览器中的 html 包含这些标签:

<tbody>(Search results are here)</tbody>

但在我的应用程序中,返回给我的 html 没有任何内容:

<tbody></tbody>

这是因为网页最初没有搜索结果,然后一段时间后ajax完成并填充了表体。我如何在 Swift 中使用 URLSessionDataTask 对象来等待 ajax 完成,然后才给我 html,以便我真正获得搜索结果?

最佳答案

我设计的变通解决方案令人不快,但很实用。我在屏幕外创建了一个 WKWebView 并加载了我感兴趣的网页。我使用计时器等待任意秒数让页面上的 javascript 完成,然后我从 webview 检索 html

关于html - 网页上的ajax完成后如何从url获取html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42081954/

相关文章:

javascript - 带有 json 格式数据的 AJAX 脚本不起作用

javascript - 同一 link_to 助手的不同行为 - 模板丢失

iOS 忽略 enqueueSampleBuffer 因为状态失败

javascript - 这有什么问题吗?尝试在我将光标悬停时播放声音,但仅在单击时才有效?

javascript - Angular .js : How to change div width based on user input

javascript - AngularJS 路由/ajax 调用/500 内部服务器错误

ios - 在 Swift 中显示 MKAnnotationView 的公开指示器标注

swift - 使用 NSRegularExpression Swift 从字符串中查找字符串

css - HTML5 中的页眉、页脚和 index.html 问题

html - 颜色框悬停 css html