gpt4 book ai didi

javascript - 尝试从网页中抓取 html,但没有为 Document.getClass 获取正确的类名/层次结构

转载 作者:行者123 更新时间:2023-12-03 00:57:43 25 4
gpt4 key购买 nike

我正在尝试获取 3 <a> some text </a> 的文本来自网页的链接,并使用 Swift 方法,该方法使用 javascript 获取 class/id/html 元素来抓取它。除此之外,我没有从 html 中获得正确的类或 id。

我尝试使用document.getElementsByClassName/Id并将所有类/id 调用到我需要的类/id,但出现错误:

'document.getElementByClass('col-sm-12 col-md-9')', 'document.getElementByClass' is undefined

我不知道为什么。有人可以指出我解决此问题的正确方向或指出我的错误吗?

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {

//I'm calling all the classes and ids
webView.evaluateJavaScript("document.getElementByClass('col-sm-12 col-md-9').document.getElementById('content-top').getElementsByClassName('item hero-container item-container item-content tag-links')") {(result, error) in
guard error == nil else {
print(error!)
return
}

print(String(describing: result))
}
}

最佳答案

没有 getElementByClass DOM 函数。最接近的匹配是 getElementsByClassName (注意 sName),但它会接受单个类,并返回一个数组。

您可能想使用 document.querySelectorAll 来代替,并且可以直接给它一个完整的 CSS 选择器(因此您需要在类前面加上 . 前缀,在 id 前面加上 # 并且同一元素上的类不留空间:

document.querySelectorAll('.tag-links a')

如果页面中有一个带有 tag-links 类的元素就足够了。

关于javascript - 尝试从网页中抓取 html,但没有为 Document.getClass 获取正确的类名/层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52752425/

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