我有以下内容
Option Explicit
Public Sub test()
MsgBox GetPathItem("https://stackoverflow.com/questions/51632630/count-of-many-to-many-and-optimize-query", 2)
End Sub
Public Function GetPathItem(ByVal path As String, ByVal position As Long) As String
path = Replace$(path, "//", "##")
GetPathItem = Replace$(Split(path, "/")(position), "##", "//")
End Function
如何获取包含“ 521X 7SW”的文本?每次我在硒中尝试.text命令时,它只会返回“ Zone:”。如果我使用get_attibute(“ text”)命令,它将不会返回任何内容。
我已经使用此命令选择了元素
<td nowrap="nowrap" align="left" colspan="2">
<b>Zone: </b>
"521X 7SW "
</td>
文本不是不可见的。 Here's a picture的元素
答案 0 :(得分:0)
那是一个文本节点,而不仅仅是文本。
您可以像这样注入Javascript:
text_node = driver.find_element_by_xpath("//b[contains(text(),'Zone: ')]")
data = driver.execute_script("return arguments[0].nextSibling.textContent;", text_node)
print(data)
text_node 作为arguments[0]
答案 1 :(得分:0)
您要查找的文本与' b '标签无关,它是 td标签的 driver.find_element_by_xpath("//td[@nowraap='nowrap']/text()");
值。您应该找到td标签文本来获取“ 521X 7SW”值。
{{1}}
您可以优化td的xpath,因为我只在问题中使用仅显示HTML 。