由于无法预见的数据涌入,我现在需要完成网页格式的重载。
需要什么:
表单完成后,需要转到“下一个URL”并执行相同的任务。
正如我在本文开头所提到的,每个表单的URL都有所不同。然而,它只是URL的最后一部分变化。请参阅以下示例。 URL仅保持相同ID更改。
http://saves/GEM/wwwsci/cms_call_outcome_sts_frame.html?id=TCAWSNG19924556
我有一个包含数百个id的列表,所有这些都需要更新。
如前所述,我过去已预先填充了表单,但没有任何需要引用列表的内容。
这与我过去使用的类似:
Dim URL
Dim IE
Set objIE = CreateObject("InternetExplorer.Application")
Call objIE.Navigate("http://saves/GEM/wwwsci/cms_call_outcome_sts_frame.html?id=TCAWSNG19924556") '<-- Don't know how insert id referenced from a list.
objIE.Visible = True
Do Until objIE.ReadyState = PAGE_LOADED : Call WScript.Sleep(100) : Loop '<-- load url
WScript.Sleep(25000) '<-- Wait for webpage JavaScript (can take 20 seconds)
'Need to press "Enter" here if a pop up occurs - Maybe .SendKeys?
IE.Document.getElementByName("oper_select10").value = "1" 'select first drop down box (not working)
IE.Document.getElementByName("oper_select6").value = "1" 'select second drop down box (not working)
IE.Document.getElementByName("I2").Click 'Submit form (not working)
WScript.Sleep(2500)
然后脚本需要循环但具有不同的ID。
我也很好奇为什么即使选择我的下拉框的基础也不起作用。
答案 0 :(得分:0)
您可以在循环中调用具有不同ID的URL,如下所示:
'read IDs from file into array
Set fso = CreateObject("Scripting.FileSystemObject")
idList = Split(fso.OpenTextFile("C:\path\to\input.txt").ReadAll, vbNewLine)
Set objIE = CreateObject("InternetExplorer.Application")
For Each id In idList
objIE.Navigate "http://saves/GEM/wwwsci/cms_call_outcome_sts_frame.html?id=" & id
'rest of your code goes here
Next
无法实际查看您要处理的网页的HTML和JavaScript代码,无法帮助您完成剩余的代码。