在网页上,使用Excel宏更改下拉框的值/直接调用javascript命令
On a webpage, Change the value of a dropdown box / call a javascript command directly, with an Excel Macro
我正在编写一系列Excel宏来自动化与Agilix Sandbox的交互,http://gls.agilix.com/CallMethod.aspx我需要将方法框从GET更改为POST,这是我迄今为止的代码:
`Const strURL_c As String = "http://gls.agilix.com/CallMethod.aspx"
'Attach domain to the command query
Dim strUsr_c As String
Dim i As Integer
'Set up IE variables for use
Dim objIE As SHDocVw.InternetExplorer
Dim ieDoc As MSHTML.HTMLDocument
Dim ddbTypCmd As MSHTML.HTMLInputElement
Dim tbxUsrFld As MSHTML.HTMLInputElement
Dim btnSubmit As MSHTML.HTMLInputElement
Dim tbxDtaFld As MSHTML.HTMLInputElement
On Error GoTo Err_Hnd
'Create Internet Explorer Object
Set objIE = New SHDocVw.InternetExplorer
'Navigate to URL
objIE.Navigate strURL_c
'Wait for page to load
Do Until objIE.ReadyState = READYSTATE_COMPLETE: Loop
'Get the webpage
Set ieDoc = objIE.Document
'Get input field and submit button.
Set tbxUsrFld = ieDoc.all.Item("Post")
Set btnSubmit = ieDoc.all.Item("Send")
Set ddbTypCmd = ieDoc.all.Item("Verb")
'Fill Field
strUsr_c = Range("A1").Value
doc.getElementById("Verb").value = "POST"
Call loadXMLDoc("POST", "Dlap.ashx", "text/xml; charset=utf-8", strUsr_c, "*/*")`
最后两行展示了我两次不同的尝试来创造想要的效果。最后一行是我尝试直接调用javascript命令,但失败了。
以下是网页相关部分的HTML:我想调用的javascript:
`函数loadXMLDoc(谓词、url、contentType、post、accept){xmlhttp=null;
// code for Mozilla, etc.
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest()
}
// code for IE
else if (window.ActiveXObject)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange = onResponse;
xmlhttp.open(verb,url,true);
xmlhttp.setRequestHeader("Accept", accept);
if (verb == "GET")
{
xmlhttp.send(null);
}
else
{
xmlhttp.setRequestHeader("Content-Type", contentType);
xmlhttp.send(post);
}
}
else
{
alert("Your browser does not support XMLHTTP.")
}
}`我想更改的下拉框:
<select name="Verb" id="Verb" size="1">
<option value="GET" selected="selected">GET</option>
<option value="POST">POST</option>
</select>
将非常感谢您提供的任何见解
我已经看过:使用excel vba更改网站下拉菜单的值使用VBA Excel通过更改下拉值来导航网站
好吧,我找到了一个真正适用于更改下拉框的答案。
Dim methodFld As MSHTML.HTMLSelectElement
Set methodFld = ieDoc.getElementById("Verb")
methodFld.Value = "POST"
相关文章:
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 打开抽屉的Javascript打印命令
- Javascript不能在一个命令中使用函数参数
- 从web浏览器通过javascript向侦听TCP端口5500的本地应用程序发送json命令
- 在OrientDB javascript函数中执行命令后获得rid
- 如何在命令行中运行/调试javascript
- 如何在 JavaScript 中运行 shell 命令
- 有人能用for循环和splice命令帮助编辑Javascript字符串吗
- 通过下拉菜单激活Javascript命令
- 我可以使用ajax/javascript/jquery执行curl命令吗
- 如何使用javascript中的get命令读取本地文本文件
- JavaScript/HTML命令行小部件
- 了解存储的MongoDB javascript函数中MongoDB命令的返回类型
- vim JavaScript缩进插件-命令是什么
- 是否可以使用WSH javascript sendKeys方法将Alt+Space发送到命令提示符
- 检测MAC javascript中的命令键
- 防油精javascript执行命令
- ASP.net web服务使用javascript发送命令
- JavaScript,如何将变量解析为命令
- Javascript echos PHP命令,而不是PHP变量