如何使用Windows cmd在特定页面上运行JavaScript?

如何使用Windows cmd在特定页面上运行JavaScript?,javascript,batch-file,cmd,Javascript,Batch File,Cmd,例如,您可以使用Chrome进入Facebook的登录页面,打开控制台并键入 document.getElementById("email").value = "myemailaddress@example.com"; document.getElementById("pass").value = "hunter42"; document.getElementById("login_form").submit(); 它会让你登录(假设登录信息正确) 如何从Windows cmd或批处理文件执行

例如,您可以使用Chrome进入Facebook的登录页面,打开控制台并键入

document.getElementById("email").value = "myemailaddress@example.com";
document.getElementById("pass").value = "hunter42";
document.getElementById("login_form").submit();
它会让你登录(假设登录信息正确)

如何从Windows cmd或批处理文件执行此操作

自动登录网站是我创建自动化的主要障碍,当我在学校门户网站上收到新成绩时,脚本会向我发送一条短信

我曾经尝试过在PHP中使用cURL进行表单提交,但是登录表单非常复杂,有很多隐藏字段等等

撇开个人项目不谈,我真的很想知道你是否能够在一个特定的网页上运行JS脚本,因为在很多情况下这可能是有用的


谢谢

您将无法从命令行(包括运行对话框)执行此操作。您最好的选择是找到一个无头浏览器框架,如Selenium或PhantomJS。在过去,我使用PhantomJS、CasperJS和噩梦JS取得了很大的成功,特别是如果您已经熟悉JavaScript,我会推荐它们。

使用greasemonkey或tampermonkey可以轻松地自动登录任何网页,或者做任何听起来非常有用的事情,谢谢!但是,会话到期时会有什么问题吗?例如,在脚本登录后,我是否能够导航到该站点上的另一个页面并使用JavaScript从页面元素获取数据?当您使用无头浏览器时,您将获得与在Chrome/Firefox会话中手动打开页面相同的功能。会话过期也会以同样的方式运行。我已经使用PhantomJS实现了它。非常感谢您提供的解决方案,它非常完美!很高兴听到这个消息。我建议你也玩Casper和噩梦:)如果你要做很多这类的工作,它们会更容易使用。