VBA自动化无法获取innerText(innerHTML,值)

时间:2018-11-13 18:45:56

标签: vba selenium innertext

因此,我已经获得很多内文。这次,它根本不起作用。尝试了多种选择。

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

我需要带有内部文本的菜单是一个下拉菜单。您可以使用50868748作为虚拟值。它生成的下拉文本由15行和一个表组成。我需要的信息在表格的第15行“ Nome doResponsá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驱动程序是最新的。另外,页面源不包含我需要的信息。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

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

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

name = label.Text

要获取内部HTML

name = label.Attribute("innerHTML")

答案 1 :(得分:0)

有时候我发现我必须执行javascript才能得到我想要的东西。你可以尝试

name=driver.ExecuteScript("document.getElementsByClassName('ng-binding')[91].innerText;")