我需要从网页的文本区域中获取多行文本。我在Chrome开发人员工具中看到文本存储在textarea的value属性中。我正在使用以下代码
Set WebElemTextBox = Chrome.FindElementById("lineupsField1")
If Not (WebElemTextBox Is Nothing) Then
TextVar = WebElemTextBox.value
End If
但是,TextVar仅获取存储文本的第一行。如何获取完整的多行文字?
我也找到了使用类似的答案
TextVar = WebElement.getAttribute("value")
但是我明白了"Run-time error: 438. Object doesn't support this property or method"
在测试时在该字符串上。
[如果可能的话,发布HTML会有所帮助,但无论如何我都会尝试回答。
首先,检查您想组成字符串的每一行的元素ID,我假设它们是顺序的。诸如“ lineupsField1”,“ lineupsField2”,lineupsField3之类的东西。
如果是这样,您可以遍历并将这些值附加到字符串。例如:
For i = 1 to 10
Set WebElemTextBox = Chrome.FindElementById("lineupsField" & i)
If Not (WebElemTextBox Is Nothing) Then
TextVar = TextVar & WebElemTextBox.value
End If
Next
如果元素ID不是按顺序排列,则不进行循环而是仅追加直到达到目标。例如:
Set WebElemTextBox = Chrome.FindElementById("lineupsField1")
If Not (WebElemTextBox Is Nothing) Then
TextVar = TextVar & WebElemTextBox.value
End If
Set WebElemTextBox = Chrome.FindElementById("Element2")
If Not (WebElemTextBox Is Nothing) Then
TextVar = TextVar & WebElemTextBox.value
End If
就您显示的其他方法而言:
TextVar = WebElement.getAttribute("value")
我不建议您走这条路,因为您很可能会为自己创建更多的工作来解析HTML中的所有值。