我想创建一个网页,将用户重定向到登录页面,并使用我拥有的单个日志自动登录。 (我不希望他们有这个登录信息 - 我只是想让它自动完成)。
我使用VBA创建了宏,它在那里工作。我想知道是否有任何在我的HTML代码中实现这个或者我是否必须用另一种编码语言重写宏?
我的VBA代码是:
Sub Test()
Const cURL = "http://www.google.com" 'Enter the web address here
Const cUsername = "user1" 'Enter your user name here
Const cPassword = "*****" 'Enter your Password here
Dim IE As InternetExplorer
Dim doc As HTMLDocument
Dim LoginForm As HTMLFormElement
Dim UserNameInputBox As HTMLInputElement
Dim PasswordInputBox As HTMLInputElement
Dim SignInButton As HTMLInputButtonElement
Dim HTMLelement As IHTMLElement
Dim qt As QueryTable
Set IE = New InternetExplorer
IE.Visible = True
IE.Navigate cURL
'Wait for initial page to load
Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop
Set doc = IE.Document
'Get the only form on the page
Set LoginForm = doc.forms(0)
'Get the User Name textbox and populate it
'input name="Email" id="Email" size="18" value="" class="gaia le val" type="text"
Set UserNameInputBox = LoginForm.elements("user")
UserNameInputBox.Value = cUsername
'Get the password textbox and populate it
'input name="Passwd" id="Passwd" size="18" class="gaia le val" type="password"
Set PasswordInputBox = LoginForm.elements("pass")
PasswordInputBox.Value = cPassword
'Get the form input button and click it
'input class="gaia le button" name="signIn" id="signIn" value="Sign in" type="submit"
Set SignInButton = LoginForm.elements("LOG_ON_BTN")
SignInButton.Click
'Wait for the new page to load
Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop
End Sub
如果有人知道如何在html中实现宏,那会很棒吗?
答案 0 :(得分:0)
HTML是一种标记语言。它没有必要的编程结构。
如果您使用ASP(经典ASP)提供页面,我认为您可以使用VBA
或其非常相似的变体。或者调整VB.Net
的代码并使用ASP.NET
。
答案 1 :(得分:0)
Html确实有一些宏支持,但不是你想要的那种(http://metahtml.sourceforge.net/examples/defining-macros.mhtml)
由于html是一种标记语言,因此无法进行重定向。如果您使用MVC构建您的网站,则很容易实现所需的行为。
如果您不使用MVC,则必须使用ASP.Net并将宏重写为c#或vb.net。