如何使用Windows(XP)批处理脚本通过用户名和密码登录网站

4

我可以使用批处理文件连接网站,但我不知道如何插入用户名和密码,并且当然需要点击提交按钮。

另外,我想知道如何使用Windows批处理脚本单击网站上可用的按钮(例如导出到xls选项)。

提前感谢。


1
欢迎来到 SO。你尝试过什么? - PA.
2个回答

7

使用批处理我想不到方法。但是用VBScript很容易。创建一个新的文本文件并将其命名为AutomateIE.vbs,然后添加以下代码。双击运行即可。

Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http://TheWebsite"
IE.Visible = True

While IE.Busy
    WScript.Sleep 50
Wend

Set ipf = IE.document.all.username
ipf.Value = "Username" 
Set ipf = IE.document.all.password
ipf.Value = "Password" 
Set ipf = IE.document.all.Submit
ipf.Click 
IE.Quit

请确保用户名和密码是网站中实际定义的名称,否则将无法正常工作。请将它们更改为正确的名称。如果您发布URL,我可以验证它们。


嗨,马特,谢谢你提供的备选方案。真的非常有帮助。我完全不懂 VB 编写脚本......但我尝试了一下,它确实有效。如果我在登录后单击“导出:Excel”选项卡并想以特定名称保存文件,你能否建议一些代码?再次感谢 :) - ravindra.ashok
不获取网站访问权限,我无法查看HTML代码。 - Matt Williamson
我无法从客户网站中提取代码。不管怎样,谢谢... :) - ravindra.ashok
你好,可以告诉我你的电子邮件地址吗?这样我就可以给你发送示例代码了。谢谢。 - ravindra.ashok
对于所有提交出现错误的人,我的问题是我的提交按钮没有id。将按钮的id更改为submit有助于我解决它。 - robertk

0

调查wget实用程序。它不是Windows本身的工具,但可在Windows上使用,并允许从任意URL获取文件,即使存在安全性问题。

登录通常涉及创建会话cookie。两个实用程序都有机制来在工具的调用之间存储会话cookie,并在完成后清除cookie。

按钮点击通常只是提供给HTML表单提交的UI。在这些情况下,您需要创建一个包含要提交数据的文件,并在实用程序获取正确URL时提供该文件。找到该URL需要解析和理解页面的HTML。

许多页面都带有交互式功能,其中按钮仅用于触发脚本操作。从批处理文件驱动此类站点可能不太可能,因为它固有地假定有交互式用户。在这种情况下,您可以通过自动化API驱动交互式浏览器,如马特的答案建议的那样,或通过使用Firefox的GreaseMonkey与浏览器本身进行自动化。

您需要获取GnuWin32项目中的wget,该项目提供了许多有趣的工具和实用程序的Windows端口,这些工具和实用程序起源于Unix。

另一个选择是cURL,它具有非常相似的功能集,并且也可用于Windows。


wget和cURL在Windows XP命令提示符上都无法工作。 - ravindra.ashok

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接