Batch file 是否自动打开浏览器并登录到网站?

Batch file 是否自动打开浏览器并登录到网站?,batch-file,Batch File,我有一位70岁的奶奶,她不习惯使用电脑,但她有电子邮件和Facebook,每次她想访问这些网站时,我都要帮助她完成这一过程。所以,我有了一个想法,我知道一点编程知识,所以我试着做一个批处理文件来自动化打开Firefox的过程,输入“www.example.com”,然后登录她的帐户。有了这个,她至少可以看到是否有任何电子邮件或facebook通知,但我可以批量打开电子邮件站点,我想知道是否有任何方法可以执行登录程序。 批处理文件: ECHO OFF START FIREFOX "WWW.EXAM

我有一位70岁的奶奶,她不习惯使用电脑,但她有电子邮件和Facebook,每次她想访问这些网站时,我都要帮助她完成这一过程。所以,我有了一个想法,我知道一点编程知识,所以我试着做一个批处理文件来自动化打开Firefox的过程,输入“www.example.com”,然后登录她的帐户。有了这个,她至少可以看到是否有任何电子邮件或facebook通知,但我可以批量打开电子邮件站点,我想知道是否有任何方法可以执行登录程序。 批处理文件:

ECHO OFF
START FIREFOX "WWW.EXAMPLE.COM" "WWW.EXAMPLE2.COM"
EXIT

今天,我们发现了如何在windows计算机上使用批处理文件将键盘命令推送到网站或其他应用程序(如果需要)。有关原始编码信息,请参阅

您将在这里找到的命令的核心结果如下

@if (@CodeSection == @Batch) @then


@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"

%SendKeys% "{ENTER}"

goto :EOF


@end


// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));
虽然我自己还在不同的应用程序上试验和测试这个批处理文件程序,但我不确定这个程序的内部工作原理。我只知道它使用安装在每台windows计算机上的java脚本来推动键盘命令的执行。然而,在我的实验中,我发现它也可以作为一种填写密码和用户名的方法

@if (@CodeSection == @Batch) @then


@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"
START FIREFOX "WWW.EXAMPLE.COM"
rem the script only works if the application in question is the active window. Set a timer to wait for it to load!
timeout /t 5
rem use the tab key to move the cursor to the login and password inputs. Most htmls interact nicely with the tab key being pressed to access quick links.
%SendKeys% "{TAB}"
rem now you can have it send the actual username/password to input box
%SendKeys% "{U}"
%SendKeys% "{s}"
%SendKeys% "{E}"
%SendKeys% "{r}"
%SendKeys% "{N}"
%SendKeys% "{a}"
%SendKeys% "{M}"
%SendKeys% "{e}"
%SendKeys% "{TAB}"
%SendKeys% "{P}"
%SendKeys% "{4}"
%SendKeys% "{S}"
%SendKeys% "{S}"
%SendKeys% "{W}"
%SendKeys% "{O}"
%SendKeys% "{R}"
%SendKeys% "{D}"
%SendKeys% "{ENTER}"

goto :EOF


@end
// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));
这样你的祖母就可以登录到特定的网站。虽然这是我试图运行的代码的大致近似值,但它仍然可以工作。如果没有,请使用我提供的链接从头开始。此外,如果您需要包含这些特殊字符的方法,请检查

*编辑:

后来我为自己做了类似的东西,并找到了一种更简单的方法,而不是键入所有那些%SendKeys%。你可以简单地做

%SendKey% "Username{TAB}"
%SendKey% "Password{ENTER}"

这是一种更简单的登录过程。这样做的唯一缺点是,如果她决定更改登录名,您必须在程序中更改她的密码

事实上,这对我很有效,我参考了jouster500的答案,我纠正了一些错误,效果很好

@if (@CodeSection == @Batch) @then


@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"
START CHROME "https://login.classy.org/"
rem the script only works if the application in question is the active window. Set a 
timer to wait for it to load!
timeout /t 10
rem use the tab key to move the cursor to the login and password inputs. Most htmls 
interact nicely with the tab key being pressed to access quick links.
rem %SendKeys% "{TAB}"
rem now you can have it send the actual username/password to input box
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "username"
%SendKeys% "{TAB}"
%SendKeys% "password"
%SendKeys% "{ENTER}"

goto :EOF

@end
// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));

你不需要。我知道还有其他的方法,但是我想做一个程序,这对她来说会更容易。而且,有时我妈妈的电子邮件已经登录,我必须注销才能与她联系。这对她来说很复杂,我只想做一个“输入我的电子邮件”程序,这样她就不必为这些情况操心。我觉得为她的电子邮件和Facebook设置RSS提要是最简单的。你可以尝试创建两个操作系统(假设你使用的是Windows平台)用户(一个给你奶奶,一个给你妈妈)。设置浏览器(Chrome/Firefox可打开上次会话中打开的页面,并将她登录到Facebook和电子邮件,并在询问时保存登录凭据)。你会得到同样的结果,而且更容易,更简单,更不热心。当解决问题时,总是尝试使用所有可用的工具来找到最简单的解决方案。我正在做一些额外的测试,并计算(并创建)我自己的即时登录到一个特定的电子邮件网站。不过,作为一种快捷方式,如果您使用JScript,我没有一直执行%SendKeys%“{}”,而是简单地执行了%SendKeys%“用户名{TAB}”%SendKeys%“密码{ENTER}”,这样就更容易完全删除批处理文件,只需在一个JScript中完成所有工作。看,我对java一无所知,但我对批处理文件的了解足以操作与java相关的东西。所以你可能是对的,但同时这一切都是基于制造它的人和他们所知道的。