gpt4 book ai didi

javascript - 通过 vba 从 ie 触发 javascript

转载 作者:行者123 更新时间:2023-11-28 03:32:26 27 4
gpt4 key购买 nike

我需要从网站提取报告并将其导出到 Excel。

我可以登录并单击我需要单击的两个 div 中的第一个,但是当我命令 vba 单击第二个 div 时,没有任何反应。

我是这个行业的新手,对javascript一无所知,所以如果我说得不对,请纠正我。

这是有问题的网站:

http://gaps.myeasy.com.br/gaps2010/Spek/Principal.aspx

我需要点击“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

不幸的是,我无法在论坛中传递用户数据,因为它不是我的,所以我在执行此操作的行前面添加了 '

尽管我不懂javascript,但我可以理解当我点击“Controle de atividades”时激活哪个脚本,但我需要知道“sReturn”的值才能使用“execScript”调用它,由于我的经验不足,我无法找到 sReturn 的值。

这是脚本:

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);
}
}

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

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

重要的是,该网站只能在 Internet Explorer 上运行,这让我更难调试代码并了解 sReturn 的赋值位置。

很抱歉在周日中午打扰您,但自周四以来我一直在四处寻找解决方案,但我就是没有动。

非常感谢你们。

最佳答案

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

事件内容:

enter image description here

正文(可能看起来略有不同,因为我没有登录):

enter image description here

旁注:

由于网页设计者指示浏览器运行为以下内容,您应该会看到有限的功能/方法:

enter image description here

关于javascript - 通过 vba 从 ie 触发 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58053911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com