【发布时间】:2018-07-31 12:28:03
【问题描述】:
我有以下 HTML 代码(见下文),我想点击此网页上名为 NBT Order Intake 的按钮。除了单击此选项卡标题(选项卡后面没有 URL,因此无法以这种方式导航)之外,我的代码适用于所有内容。我相信有用的代码位于图像中两个突出显示的部分之间。
我试过查询选择器。单击名称和 ID 以及获取元素功能。
任何帮助将不胜感激(只需将 1 行代码添加到我的字符串中)
注意。网站安全且已登录,因此无法共享 URL,因此无法共享代码图像。
HTML:
name="home_tab_name_97" value="KPI - Best Card Jobs"/></div>
<div id="home_tab_98" class="home_tab" title="" >
<div class="home_tab_inner"><span id="home_tab_label_98" onclick="SelectHomeTab(98)">NBT Order Intake</span> <img src="Includes.aspx?type=image&name=Images/lsd_down.gif" border="0" class="home_tab_setting" onclick="HomeTabSettings(98)" /></div>
<div class="el_hidden" id="home_tab_settings_98">
<div><a class="mnu_item" href="javascript: RenameHomeTab(98)">Rename</a></div>
<div><a class="mnu_item" href="javascript: DeleteHomeTab(98)">Delete</a></div>
<div><a class="mnu_item" href="javascript: ShareHomeTab(98)">Make Public</a></div>
<div><a class="mnu_item" href="javascript: ShowAddDashCustomPageOptions(98)">Add Custom Item</a></div>
<div class="mnu_item_divider"></div>
<div><a class="mnu_item" onclick="HideHomeSettings(98)">Cancel</a></div>
</div>
<input type="hidden" id="home_tab_name_98" name="home_tab_name_98" value="NBT Order Intake"/>
</div>
<div id="home_tab_99" class="home_tab" title="" >
<div class="home_tab_inner">
<span id="home_tab_label_99"
HTML 图像:
VBA:
Sub test()
Dim IE As Object
Dim objElement As Object
Dim objCollection As Object
'add worksheet
Sheets.Add after:=ActiveSheet
'destination
Set destsheet = ActiveSheet
'use internet explorer
Set IE = CreateObject("InternetExplorer.application")
' with internet open, make this visable and go to webpage x, enter username a
nd passwork
With IE
.Visible = True
.navigate ("URL")
While .Busy Or .readyState <> 4: DoEvents: Wend
'ie.Document.getElementsbyname("User name").Focus
IE.document.getElementsByName("username")(0).Value = "Username"
IE.document.getElementsByName("password")(0).Value = "Pword"
While .Busy Or .readyState <> 4: DoEvents: Wend
'look for the input field (HTML CODE)
Set objCollection = IE.document.getElementsByTagName("input")
i = 0
While i < objCollection.Length
If objCollection(i).Type = "submit" And _
objCollection(i).Name = "" Then
' "Search" button is found
Set objElement = objCollection(i)
End If
i = i + 1
Wend
'(click the log on)
objElement.Click
While .Busy Or .readyState <> 4: DoEvents: Wend
End With
With IE
IE.document.querySelector("input[id=home_tab_name_98]").Click
End With
'close the internet page
End Sub
【问题讨论】:
-
啊好的找到了如何输入代码,有没有办法让你自己更容易看到它?目前只有1条大线,我只需要随机按Enter吗?
-
我进行了编辑,以便您更好地了解外观。如果需要,您可以通过edit 使用回滚功能恢复所有更改。
标签: javascript html vba web-scraping