如何打开使用框架集通过vba登录的网页

时间:2018-12-15 10:20:14

标签: excel vba excel-vba web-scraping

我正在尝试打开网页以登录到网页,但在IE中我无法显示该页面(我不知道是否是404错误)

我认为我具有包含用户名和密码的框架的正确链接,因为它在Google Chrome中打开了

我刚刚通过链接创建了一个变量,并做了

.visible = true 
.Navigate url

如何用IE打开它以便随后传递用户名和密码?

谢谢

主页上有

<FRAMESET rows="38,30,*"  border="0" frameborder="0"  framespacing="0">
<FRAME src="header.asp" name="header" id="header"  noresize  scrolling="no" border="0">
<FRAME src="empty.asp" name="menubar" id="menubar"   noresize  scrolling="no" border="0">
<FRAMESET cols="185, *" border="0" frameborder="0" framespacing="0">
  <FRAME src="left_column.asp" name="menu" id="menu" >
  <FRAME src="index.asp"  name="main" id="main" >
</FRAMESET>

1 个答案:

答案 0 :(得分:0)

该站点进行重定向,使用/ index可能导致过多的间接访问并最终导致失败。转到登陆,然后允许浏览器处理最初的重定向登录。然后,是的,有一个要处理的框架。

Option Explicit
Public Sub LoginInfo()
    Dim ie As New InternetExplorer
    With ie
        .Visible = True
        .navigate2 "http://shop.braintrust.gr/shop/store"

        While .Busy Or .readyState < 4: DoEvents: Wend

        With .document.getElementById("main").contentDocument

            .querySelector("[name=UserID]") = "joe.bloggs@internet.address"
            .querySelector("[name=password]") = "password"
            .querySelector("#checkbox1").Click '< if checkbox needs checking
            .querySelector("[type=submit]").Click

        End With

        While .Busy Or .readyState < 4: DoEvents: Wend
        Stop
        '.Quit
    End With
End Sub