我创建了一个代码,可以打开Internet Explorer,导航到某个站点,提示输入凭据和日期范围,然后将数据(理论上)保存到文本文件中。
除了保存数据外,一切都有效。当我单击它们的导出按钮时,它会弹出一个无标题的新窗口(因此我无法按名称关注窗口),当我尝试将其保存到.txt文件时,会保存第一个网页。仍然专注,而不是弹出窗口。
如何将焦点移至弹出窗口/将弹出窗口保存为文本文件?
不幸的是我无法提供太多代码,但这是我用来保存到文本文件的代码:
TEXT = objIE.Document.Body.InnerText
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("Banorte.txt", 2, True)
ts.Write TEXT
ts.Close
另外,我没有选择下载任何软件来帮助我解决这个问题。如果需要,我也不反对使用不同的语言,或者调用单独的脚本。
感谢您一起来看看!
------ ------ EDIT
这是一些额外的代码,网站是banorte.com,这是我登录后运行的代码。
通过弹出窗口,我的意思是它在Internet Explorer中打开了一个新窗口,但它不像一个标签,它有一个名称,可以添加到父窗口。这是一个独立的。
objIE.Document.getElementsByName("btnEntrar").Item(0).Click
While objIE.Busy
WScript.Sleep 100
Wend
objIE.Document.getElementsByName("ctl00$Contentplaceholder1$btnConsultar").Item(0).Click
WScript.Sleep 5000
objIE.document.parentWindow.execScript "javascript:__doPostBack('ctl00$Contentplaceholder1$grdCuentasCheques$ctl02$ctl00','')"
BEGDATE= InputBox("Please enter the beginning date DD/MM/YYYY:","Please provide additional info.")
objIE.Document.getElementById("ctl00_Contentplaceholder1_ucPeriodoFechas_WucFechaInicial_txtFecha").value = BEGDATE
ENDDATE= InputBox("Please enter the ending date DD/MM/YYYY:","Please provide additional info.")
objIE.Document.getElementById("ctl00_Contentplaceholder1_ucPeriodoFechas_WucFechaFinal_txtFecha").value = ENDDATE
objIE.Document.getElementsByName("ctl00$Contentplaceholder1$btnConsultar").Item(0).Click
WScript.Sleep 2000
问题出在此命令之后:
objIE.Document.getElementsByName("ctl00$Contentplaceholder1$btnExportarSaldos").Item(0).Click
Do Until objIE.readystate = 4
WScript.Sleep 10
loop
TEXT = objIE.Document.Body.InnerText
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("Banorte.txt", 2, True)
ts.Write TEXT
ts.Close
objIE.Navigate "https://nbem.banorte.com/NBXI/Corporativa/Cerrar.aspx"
ObjIE.quit