getelementsbyname 不适用于 diffrnrt web
getelementsbyname not working on diffrnrt web
大家好。
我是新来的,所以如果我做错了,我深表歉意。
我正在尝试做什么......我正在尝试创建一个 Bat 文件,它会自动打开一个特定的站点并在那里输入登录名和密码,nadimal "Login"......模拟什么我今天参加了这个网站......
过去,我做得很好......
这是一个例子。 (登录名和密码已更改)
@set @script=0 /*
@echo off
set @script=
@cscript /nologo /e:jscript "%~dpnx0"
@exit /b
*/
var url,login,password;
url = "http://elearn2.mbschool.ru/lmsonline/index.jsp";
// заменить на свои учетные данные
login = "k";
password = "gx";
var IE = WScript.CreateObject("InternetExplorer.Application");
IE.visible = 1;
IE.navigate(url);
while (IE.Busy) {
WScript.Sleep(200);
}
IE.document.getElementsByName("user")(0).value = login;
IE.document.getElementsByName("password")(0).value = password;
button = IE.document.getElementsByName("save")(0);
button.focus();
button.click();
一段时间过去了,开发人员对网站进行了更改...
目前,由于某种原因,这样的算法不起作用
@set @script=0 /*
@echo off
set @script=
@cscript /nologo /e:jscript "%~dpnx0"
@exit /b
*/
var url,login,password;
url = "http://lms.mba.ru/mira/#&step=1&s=tT79vdH8nG0XWayfK0Lq&type=login&doaction=Go";
// заменить на свои учетные данные
login = "k;
password = "6m";
var IE = WScript.CreateObject("InternetExplorer.Application");
//IE.visible = 0;
IE.navigate(url);
IE.visible = 1;
while (IE.Busy) {
WScript.Sleep(4000);
}
IE.document.getElementsByName("user")(0).value= login;
IE.document.getElementsByName("password")(0).value = password;
button = IE.document.getElementsByName("doaction")(0);
button.focus();
button.click();
由于某种原因,登录名和密码没有出现在表单中,也没有按下按钮...
请帮帮我。
谢谢。
如果您查看过页面的源代码,就会发现用户和密码文本框位于 iframe 中。要在 iframe 中操作 DOM 元素,您需要先加载内容。
@set @script=0 /*
@echo off
set @script=
@cscript /nologo /e:jscript "%~dpnx0"
@exit /b
*/
var url,login,password;
url = "http://lms.mba.ru/mira/#&step=1&s=tT79vdH8nG0XWayfK0Lq&type=login&doaction=Go";
login = "k";
password = "6m";
var IE = WScript.CreateObject("InternetExplorer.Application");
//IE.visible = 0;
IE.visible = 1;
IE.navigate(url);
while (IE.Busy) {
WScript.Sleep(4000);
}
IE.document.getElementsByClassName("mira-frame-content")[0].contentDocument.getElementsByName('user')[0].value= login;
IE.document.getElementsByClassName("mira-frame-content")[0].contentDocument.getElementsByName('password')[0].value = password;
button = IE.document.getElementsByClassName("mira-frame-content")[0].contentDocument.getElementsByTagName("button")[1];
button.focus();
button.click();
大家好。 我是新来的,所以如果我做错了,我深表歉意。
我正在尝试做什么......我正在尝试创建一个 Bat 文件,它会自动打开一个特定的站点并在那里输入登录名和密码,nadimal "Login"......模拟什么我今天参加了这个网站...... 过去,我做得很好...... 这是一个例子。 (登录名和密码已更改)
@set @script=0 /*
@echo off
set @script=
@cscript /nologo /e:jscript "%~dpnx0"
@exit /b
*/
var url,login,password;
url = "http://elearn2.mbschool.ru/lmsonline/index.jsp";
// заменить на свои учетные данные
login = "k";
password = "gx";
var IE = WScript.CreateObject("InternetExplorer.Application");
IE.visible = 1;
IE.navigate(url);
while (IE.Busy) {
WScript.Sleep(200);
}
IE.document.getElementsByName("user")(0).value = login;
IE.document.getElementsByName("password")(0).value = password;
button = IE.document.getElementsByName("save")(0);
button.focus();
button.click();
一段时间过去了,开发人员对网站进行了更改... 目前,由于某种原因,这样的算法不起作用
@set @script=0 /*
@echo off
set @script=
@cscript /nologo /e:jscript "%~dpnx0"
@exit /b
*/
var url,login,password;
url = "http://lms.mba.ru/mira/#&step=1&s=tT79vdH8nG0XWayfK0Lq&type=login&doaction=Go";
// заменить на свои учетные данные
login = "k;
password = "6m";
var IE = WScript.CreateObject("InternetExplorer.Application");
//IE.visible = 0;
IE.navigate(url);
IE.visible = 1;
while (IE.Busy) {
WScript.Sleep(4000);
}
IE.document.getElementsByName("user")(0).value= login;
IE.document.getElementsByName("password")(0).value = password;
button = IE.document.getElementsByName("doaction")(0);
button.focus();
button.click();
由于某种原因,登录名和密码没有出现在表单中,也没有按下按钮... 请帮帮我。 谢谢。
如果您查看过页面的源代码,就会发现用户和密码文本框位于 iframe 中。要在 iframe 中操作 DOM 元素,您需要先加载内容。
@set @script=0 /*
@echo off
set @script=
@cscript /nologo /e:jscript "%~dpnx0"
@exit /b
*/
var url,login,password;
url = "http://lms.mba.ru/mira/#&step=1&s=tT79vdH8nG0XWayfK0Lq&type=login&doaction=Go";
login = "k";
password = "6m";
var IE = WScript.CreateObject("InternetExplorer.Application");
//IE.visible = 0;
IE.visible = 1;
IE.navigate(url);
while (IE.Busy) {
WScript.Sleep(4000);
}
IE.document.getElementsByClassName("mira-frame-content")[0].contentDocument.getElementsByName('user')[0].value= login;
IE.document.getElementsByClassName("mira-frame-content")[0].contentDocument.getElementsByName('password')[0].value = password;
button = IE.document.getElementsByClassName("mira-frame-content")[0].contentDocument.getElementsByTagName("button")[1];
button.focus();
button.click();