我怎么能得到一个网页的完整来源(HTML)与vba?



我正在尝试使用excel VBA自动执行工作任务。我似乎不能得到所有的源代码。我创建了这个简单的代码来测试它。

dim IE as object
Dim S as String
Set IE = CreateObject ("InternetExplorer.application")
Call LocateOpeGSAPage (IE)
DIM htmlDoc as HTMLDocument
set htmldoc = IE.Document
s = htmldoc.body.innerHTML

它从我公司的网页中提取一些几行长的HTML代码。

如果它是有帮助的,这里是发生什么,如果我试图获得源代码手动:当我手动右键点击网页,然后点击"查看源代码"时。我上面提到的来自我公司网页的数据会在源代码窗口的"Default.aspx">

标签下显示出来然而,如果我手动右键点击网页第二次,点击"查看源代码"然后在源代码窗口中打开一个名为"DesktopDefault{1}"的新选项卡。它显示了我需要的所有源代码。

我怎么能得到使用VBA的源代码?如有任何指导,不胜感激。

我能够找到我自己问题的答案。我实际上并不需要获取HTML源代码,所以我决定将代码更改为引用Selenium,因为我的真正目标是能够定位元素。然后我使用"SwitchtoFrame"调用包含我想要访问的元素的框架。当我没有使用"switchtoframe"时;我得到一个NoSuchElement错误,所以switchtoframe是我真正的问题解决方案。

Dim ch As New Selenium.ChromeDriver
Dim Elements As Selenium.WebElements
Dim Element As Selenium.WebElement
Dim FindBy As New Selenium.By
Dim url As String
Application.ScreenUpdating = False

ch.Get "https://abak.abch.net/cge/", Raise:=False
ch.SwitchToFrame ("MainFrame")
ch.FindElementById("ctl04_txtUsername").SendKeys "adock"
ch.FindElementById("ctl04_txtPassword").SendKeys "B12G89#F"
ch.FindElementById("ctl04_btnLogin").ClickDouble}

最新更新