【问题标题】:VBA automation can't get innerText (innerHTML, value)VBA自动化无法获取innerText(innerHTML,值)
【发布时间】:2019-04-16 16:15:21
【问题描述】:

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

首先 我在 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 驱动程序是最新的。此外,页面来源不包含我需要的信息。

谁能帮帮我?

【问题讨论】:

    标签: vba selenium innertext


    【解决方案1】:

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

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

    要获取内部 Html,

    name = label.Attribute("innerHTML")
    

    【讨论】:

    • 嗯,做到了。第二个工作得很好,第一个每次都没有返回。非常感谢。
    • 感谢 Navarasu 提供的宝贵答案,实际上我在寻找将 href 值设置为 excel 时发疯了,但是您提到的第二个代码“label.Attribute("innerHTML") 帮助了我很多. 谢谢。另外,感谢 Marcus Arnhold 的提问。
    【解决方案2】:

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

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

    【讨论】:

    • 我也可以试试。这个 .document 不断为我返回错误的东西。我找到的几乎所有帮助都与 driver.document.Somethingsomething 相关。
    猜你喜欢
    • 2019-02-01
    • 2021-10-26
    • 1970-01-01
    • 2014-12-30
    • 2013-04-07
    • 2021-05-20
    • 2020-09-28
    • 2021-07-14
    • 2020-03-20
    相关资源
    最近更新 更多