首页 > 解决方案 > VBA自动化无法获取innerText(innerHTML,值)

问题描述

所以,我已经多次获得内文。这一次,它根本行不通。尝试了许多替代方案。

首先,我在 VBA 上使用 Selenium 来使用 chromedriver。源网站是“[ http://www.fazenda.df.gov.br/area.cfm?id_area=1536] ”该网站在 iframe 上运行。在尝试从中获取内部文本半小时后,我发现其代码中的链接同样有效:“[ http://publica.agnet.fazenda.df.gov.br/FichaImovel/#/FichaCadastral] ”。最后一个似乎在调用“Angular”上运行。

我需要的带有内文的菜单是一个下拉菜单。作为虚拟值,您可以使用 50868748。它生成的下拉文本由 15 行和一个表格组成。我需要的信息在第 15 行“Nome do Responsável”或表格的第 2 列第 2 行。

我设法放置代码并生成下拉列表,但我无法获取内部文本。

这是我的代码:

Dim iptu As String

Dim driver As New ChromeDriver

With driver


.Start 
iptu = 50868748 'dummy
.Get "http://publica.agnet.fazenda.df.gov.br/FichaImovel/#/FichaCadastral"

.FindElementById("inscricaoImovel").Clear
.FindElementById("inscricaoImovel").SendKeys iptu
.FindElementsById("btnCadastro")(2).Click

.Wait (300)

'直到这里,一切正常

Dim label As Object
Dim name As String


Set label = .FindElementsByClass("ng-binding")(91)
'as you can see, i end up using this class(91) to get the value on the table, but i can get from the 15th line too


name = label.getAttribute("innerText") 'Error is here

'我尝试过 .innerText、.innerHTML 等。错误总是“对象不接受属性或方法”错误 438。

end with

chrome 驱动程序是最新的。此外,页面源不包含我需要的信息。

任何人都可以帮助我吗?

标签: vbaseleniuminnertext

解决方案


要获取元素的 InnerText,您需要调用 Text 方法

Set label = .FindElementsByClass("ng-binding")(91)

name = label.Text

要获得内部 Html,

name = label.Attribute("innerHTML")

推荐阅读