Javascript VB脚本提交问题
和其他很多人一样,我也有一个自动登录脚本的问题。 我的问题类似于 然而,我的问题是,我应该调用什么函数。 我不是编码员,但我很热情 以下是我当前的代码:Javascript VB脚本提交问题,javascript,vbscript,Javascript,Vbscript,和其他很多人一样,我也有一个自动登录脚本的问题。 我的问题类似于 然而,我的问题是,我应该调用什么函数。 我不是编码员,但我很热情 以下是我当前的代码: On Error Resume Next Const PAGE_LOADED = 4 Set objIE = CreateObject("InternetExplorer.Application") Call objIE.Navigate("https://autentisering.vll.se/login.html") objIE.Vi
On Error Resume Next
Const PAGE_LOADED = 4
Set objIE = CreateObject("InternetExplorer.Application")
Call objIE.Navigate("https://autentisering.vll.se/login.html")
objIE.Visible = True
Do Until objIE.ReadyState = PAGE_LOADED : Call WScript.Sleep(100) : Loop
objIE.Document.all.username.Value = "username"
objIE.Document.all.password.Value = "password"
If Err.Number <> 0 Then
msgbox "Error: " & err.Description
End If
Call objIE.Document.forms(0).submit()
Set objIE = Nothing
出错时继续下一步
常量页面_已加载=4
Set objIE=CreateObject(“InternetExplorer.Application”)
调用objIE.Navigate(“https://autentisering.vll.se/login.html")
objIE.Visible=True
直到objIE.ReadyState=PAGE_加载为止:调用WScript.Sleep(100):循环
objIE.Document.all.username.Value=“username”
objIE.Document.all.password.Value=“password”
如果错误号为0,则
msgbox“错误:&错误说明
如果结束
调用objIE.Document.forms(0.submit())
设置对象=无
这是我试图“打破”的登录文字:
函数getHtmlForButton(nameStr、str、bClass、onClickFn){
如果(nameStr==null | | nameStr==“”| | str==null | | str==“”| | onClickFn==null | | onClickFn==“”){
debugMsg(“按钮的一个输入参数不可用”);
返回;
}
书面文件(“”);
}
函数submitAction(){
if(document.forms[0].err_flag.value==1){
//当用户尝试登录失败时会发生这种情况
//他将再次登录。这意味着我们已经
//在他的第一次尝试中提取了重定向url及其存储
//在redirect_url输入元素中,只需提交表单
document.forms[0]。err_flag.value=0;
document.forms[0]。buttonClicked.value=4;
document.forms[0]。提交();
}否则{
var link=document.location.href;
//警报(“链接为”+链接);
var searchString=“?重定向=“;
var equalIndex=link.indexOf(searchString);
var-url=“”;
如果(均衡指数>0){
equalIndex+=searchString.length;
重定向URL=link.substring(equalIndex);
var指数=0;
//仅当url不包含时添加http
index=redirectUrl.indexOf(“http”);
如果(索引!=0){
redirectUrl=“http://”+redirectUrl;
}
}
如果(重定向URL.length>255){
redirectUrl=redirectUrl.substring(0255);
}
document.forms[0]。redirect_url.value=redirectUrl;
//警报(“重定向url为”+文档.forms[0]。重定向url.value);
document.forms[0]。buttonClicked.value=4;
document.forms[0]。提交();
}
}
函数submitOnEnter(事件){
var NS4=(document.layers)?true:false;
var代码=0;
如果(NS4)
代码=event.which;
其他的
代码=event.keyCode;
如果(代码==13)submitAction();
//12对应于输入事件
}
函数checkForMsg(){
if(document.forms[0].info_flag.value==1){
警报(document.forms[0].info\u msg.value);
}
}
编辑:
我遇到的问题是它无法登录。它像应该的那样输入用户名和密码,但是我得到一个错误,上面写着“error:Objektet stöder inte egenskapen eller-metoden”(是瑞典语),翻译成“error:the object不支持此属性或方法”(谷歌翻译了一点)
最新编辑:
我把动作线改成了
调用objIE.Document.forms(0.submit())
并删除了第一行(在错误恢复下一行时)。
现在我没有收到任何警告,但它根本不会登录。它在一瞬间加载并刷新,所以我不知道它是否输入了名称和密码,但由于我没有更改,它应该这样做
我做错了什么?您忘了描述您遇到的实际问题。谢谢,因为压力而错过了。昨天在您的评论后添加了:)请提供完整的错误消息,包括错误号和(如果可用)引起错误的行。提供了,但它是瑞典语的,因此翻译可能有点错误。没有说明引起错误的行,但是如果我去掉“Application.SendKeys”{TAB}“Application.SendKeys”{ENTER}”,它绝对不会给出错误,那么我猜是那些行…您可能没有实例化对象。与VBA不同,VBScript没有默认的
应用程序
对象。您需要先创建它,例如:Set Application=CreateObject(“WScript.Shell”)
。
function getHtmlForButton(nameStr, str, bClass,onClickFn) {
if(nameStr == null || nameStr =="" || str == null || str =="" || onClickFn == null || onClickFn =="") {
debugMsg("One of the input params for the button is not available");
return;
}
document.writeln('<input type="button" name="',nameStr,'" value="',str,'" class="',bClass,'" onClick="',onClickFn,'">');
}
function submitAction() {
if(document.forms[0].err_flag.value == 1) {
// This case occurs when user's attempt to login failed
// and he is going to login again. This means we have already
// extracted redirect url in his first attempt and its stored
// in redirect_url input element. so just submit the form
document.forms[0].err_flag.value = 0;
document.forms[0].buttonClicked.value = 4;
document.forms[0].submit();
} else {
var link = document.location.href;
//alert("Link is "+link);
var searchString = "?redirect=";
var equalIndex = link.indexOf(searchString);
var redirectUrl = "";
if(equalIndex > 0) {
equalIndex += searchString.length;
redirectUrl=link.substring(equalIndex);
var index=0;
//add http only if url does not have
index=redirectUrl.indexOf("http");
if(index != 0) {
redirectUrl = "http://"+ redirectUrl;
}
}
if(redirectUrl.length > 255) {
redirectUrl = redirectUrl.substring(0,255);
}
document.forms[0].redirect_url.value = redirectUrl;
//alert("redirect url is "+document.forms[0].redirect_url.value);
document.forms[0].buttonClicked.value = 4;
document.forms[0].submit();
}
}
function submitOnEnter(event) {
var NS4 = (document.layers) ? true : false;
var code = 0;
if (NS4)
code = event.which;
else
code = event.keyCode;
if (code==13) submitAction();
// 12 corresponds to enter event
}
function checkForMsg() {
if(document.forms[0].info_flag.value == 1) {
alert(document.forms[0].info_msg.value);
}
}