我正在尝试通过网站自动登录,并且遇到了我认为是隐藏按钮的内容。
使用inspect元素,我必须使用它。
<button onclick="javascript:ga('send', 'event', 'Sign In','click','Sign In');" type="submit">Sign In</button>
我已尝试使用getElementById
,getElementsByTagName
,getElementsByName
等,但我不熟悉隐藏的项目或如何访问它们。是否有循环方式和隐藏项目的ID标签?
网址是: https://www.eurocarparts.com/login?
任何帮助都会受到赞赏。
答案 0 :(得分:1)
循环所有文档按钮,直到找到类型为&#34;提交&#34;和&#34;登录&#34;内:
Set allButtons = YOURIEOBJ.document.getElementsByTagName("button")
Do While i < allButtons.Length
If allButtons(i).Type = "submit" And allButtons(i).innerText = "Sign In" Then
allButtons(i).Click
Exit Do
End If
i = i + 1
Loop
有时innerText并没有给你&#34;登录&#34;。你可以使用.Text或.innerHTML,其中一个会给你&#34;登录&#34;。
答案 1 :(得分:1)
在这里使用CSS Selector
需要VBE&gt;工具&gt;参考文献&gt; Microsoft HTML对象库和Internet控件
Option Explicit
Public Sub GetButton()
Dim IE As New InternetExplorerMedium, html As HTMLDocument '<==InternetExplorerMedium rather than InternetExplorer because for some reason I was getting interface unknown without the change
With IE
.Visible = True
.navigate "https://www.eurocarparts.com/login"
While .Busy Or .readyState < 4: DoEvents: Wend
Set html = .document
End With
Dim button As HTMLButtonElement
Set button = html.body.querySelector("body > section > section.container.content-section.cookiebar > section.row.account-container > div.col-xs-12.col-sm-6.col-md-6.account-box.first > div > form > button")
End Sub
如果您在紧邻的窗口中输入以下内容:
?button.innerhtml
你得到:
Sign In
注意:@ SIM的优秀缩写。
.querySelector("button[onclick*='Sign In']").Click