通过vba从ie触发javascript

通过vba从ie触发javascript,javascript,html,excel,vba,web-scraping,Javascript,Html,Excel,Vba,Web Scraping,我需要从网站上提取一份报告并将其导出到excel 我可以登录并单击需要单击的两个div中的第一个,但当我命令vba单击第二个div时,什么也没有发生 我是这项业务的新手,对javascript一无所知,所以如果我说的有错,请纠正我 这就是所讨论的网站: 我需要点击“Gestão”,然后点击“Controle de Atividades” 到目前为止,我的代码是: Sub LoginGaps() Dim IE As Object 'START INTERNET EXPLORER

我需要从网站上提取一份报告并将其导出到excel

我可以登录并单击需要单击的两个div中的第一个,但当我命令vba单击第二个div时,什么也没有发生

我是这项业务的新手,对javascript一无所知,所以如果我说的有错,请纠正我

这就是所讨论的网站:

我需要点击“Gestão”,然后点击“Controle de Atividades”

到目前为止,我的代码是:

Sub LoginGaps()

Dim IE As Object

    'START INTERNET EXPLORER
    Set IE = CreateObject("InternetExplorer.application")
    IE.Visible = True
    IE.Navigate ("http://gaps.myeasy.com.br/gaps2010/Spek/Principal.aspx")
    While IE.Busy Or IE.readyState <> 4: DoEvents: Wend

    'LOGIN TO WEBSITE
    'frmLogin.Show

    'CLICK ON "GESTÃO"
    IE.document.getElementById("uwlBar_Group_2_text_top").Click

    'CLICK ON "CONTROLE DE ATIVIDADES"
    IE.document.getElementById("uwlBar_2_Item_1").Click

End Sub
脚本将sRetorno的值分成5个变量,然后在“frmPrincipal”中打开一个链接,这是页面上的一个大正方形,这个链接就是我找到报告的地方。 如果你能帮我找到sRetorno的值是如何定义的,我想到了两种可能性

第一种方法是使用“execScript”调用脚本,第二种方法是获取sPagina的值并直接打开链接以提取报告(如果可能)

很重要的一点是,该网站只能在Internet Explorer上运行,这使得我更难调试代码并理解在哪里为sReturn赋值

对不起,在星期日中旬打扰你,但自从星期四以来我一直在盘旋,试图解决这个问题,我就是不动。
非常感谢各位。

如果您使用F12打开浏览器的网络选项卡,然后单击“CONTROLE DE ATIVIDADES”(登录时),您应该会在POST请求正文中看到与您所做的单击相关联的所有所需值

活动:

正文(由于我未登录,可能看起来略有不同):

旁注:

由于web designer指示浏览器以以下方式运行,您可能会看到有限的功能/方法:


如果您使用F12打开浏览器的网络选项卡,然后单击“CONTROLE DE ATIVIDADES”(登录时),您应该会在POST请求正文中看到与所做单击相关的所有必需值

活动:

正文(由于我未登录,可能看起来略有不同):

旁注:

由于web designer指示浏览器以以下方式运行,您可能会看到有限的功能/方法:


非常感谢@QHarr的帮助


另一种方法是在代码中添加一个中断,当我单击页面触发函数的位置时,我可以在代码中断的情况下检查sRetorno的值。

非常感谢@QHarr的帮助

另一种方法是在代码中添加一个中断,当我单击页面触发函数的位置时,我可以在代码中断的情况下检查sRetorno的值

function aftermenu(sRetorno)
{
    var aRetorno=sRetorno.split("|");
    var iModulo=aRetorno[0];
    var sId=aRetorno[1];
    var sPagina=aRetorno[2];
    var sLogin=aRetorno[3];
    var iPermissao=aRetorno[4];
    if (iPermissao=="1")
    {
        if (lstItem!=null)
        {
            lstItem.style.backgroundColor="#f9f9f9";
            lstItem.onmouseover=function(){this.style.background="#d6d3d6"};
            lstItem.onmouseout=function(){this.style.background="#f9f9f9"};
            //lstItem.setSelected(false);
        }                
        lstItem=null;
        if (sId!=""){    
        lstItem=document.getElementById(sId);
        lstItem.style.backgroundColor="#dee6f3";
        lstItem.onmouseover=function(){};
        lstItem.onmouseout=function(){};
        /*
        lstItem=iglbar_getItemById(sId).element;/*
        lstItem.setSelected(true);*/}
        frmPrincipal=document.getElementById("frmPrincipal");
        frmPrincipal.location.href=sPagina;
    }            
    else
    {
         showmessage("Acesso ao módulo/função não permitido para o usuário "+sLogin+".\nConsulte o administrador do sistema.",520,constInfo,constOk,this,false);
    }
}