【发布时间】:2024-01-30 07:00:01
【问题描述】:
我正在尝试从没有 ID 的 Span 行中获取一段文本。使用 Xcode 和 Swift 3。
这是行:
<span class="name">Peter Red</span>
我试过了,但它不起作用:
var name = webView.evaluateJavaScript("document.querySelector('.name').innerHTML")
print("Name is \(name)")
我也尝试过使用.innerText、.textContent 和outerText,但控制台只打印Name is ()
【问题讨论】:
-
你试过
document.getElementsByClassName('name')[0]吗? -
document.querySelector('.name').innerHTML对于在运行该代码时使用该类访问 first 跨度内容的 HTML 是正确的。所以问题是在代码运行时元素不存在,或者没有那个类。 (或者你在滥用evaluateJavaScript;我对此一无所知。) -
@YuvalBen-Arie:为什么会有不同?一方面,
getElementsByClassName的支持比querySelector更差。但是 WebKit 浏览器肯定有querySelector。 -
你可以试试
document.querySelectorAll('.name')[0].innerHTML,如果它是同类中唯一的一个。但是为什么不能给它一个id呢? -
.querySelectorAll 工作!!事实是我现在得到:名称是可选的(名称)。如何删除“可选”
标签: javascript html swift webview webkit