【发布时间】:2016-01-08 19:46:58
【问题描述】:
我想解析本地保存的网页列表。遗憾的是网页无法使用 Internet Explorer 打开(错误是“页面没有响应”),但 FireFox 可以正常打开它们。所以我必须找到一个“解决方法”来获取源代码,以便我可以解析它以获得我想要的信息。因此我找到了 SeleniumBasic。
我使用 Excel 2013 和 SeleniumBasic 2.0.6.0
使用 Selenium 时遇到以下问题。这是代码应该是的非常简短的版本:
Sub TestSeleniumParsing()
Dim sel As Selenium.WebDriver
Set sel = New Selenium.WebDriver
Dim html As HTMLDocument
Dim ihtml As IHTMLElement
Dim ihtmlcoll As IHTMLElementCollection
sel.Start "firefox", "about:blank"
sel.Get "file:///D:/LocalWebPages/MV_999.htm" 'GET LOCAL WEBPAGE
Set html = New HTMLDocument
html.body.innerHTML = sel.PageSource
Set sel = Nothing
Set ihtmlcoll = html.getElementsByClassName("name") ' THIS IS THE LINE WITH THE ERROR
WHICH USED TO WORK WHEN I USED
InterExporerMedium INSTEAD OF Selenium
For Each ihtml In ihtmlcoll
'SOME CODE HERE BUT NOW NOT IMPORTANT...
Next ihtml
Set html = Nothing
Set ihtml = Nothing
Set ihtml = Nothing
End Sub
在Set ihtmlcoll = html.getElementsByClassName("name") 行,我收到一个错误,之前我在使用 Internet Explorer 时没有收到:
我不想在 Selenium VBA 中编写所有内容的原因是因为我已经在 VBA 中编写了代码。
任何帮助深表感谢。
PS:这个问题和这个here有关。
【问题讨论】:
标签: html vba excel parsing selenium