vba刮削嵌套(?)选项卡/按钮
我一直试图在工作中刮取一个内部网站,时间比我愿意承认的要长。这个程序是敏捷的(一种通用的制造工具),它使用IE,所以地址在导航时不会改变。我要选择的选项卡/按钮/菜单位于一个选项卡包装器内,我无法使用我的技能集访问它 我能钻到的最深处是vba刮削嵌套(?)选项卡/按钮,vba,ms-access,web-scraping,Vba,Ms Access,Web Scraping,我一直试图在工作中刮取一个内部网站,时间比我愿意承认的要长。这个程序是敏捷的(一种通用的制造工具),它使用IE,所以地址在导航时不会改变。我要选择的选项卡/按钮/菜单位于一个选项卡包装器内,我无法使用我的技能集访问它 我能钻到的最深处是 idoc.getElementById("rightPaneContent").getElementsByTagName("Form")(0) …但它没有显示DIV、LI或a的完整结果 我试图选择的菜单下拉菜单实际上是多
idoc.getElementById("rightPaneContent").getElementsByTagName("Form")(0)
…但它没有显示DIV、LI或a的完整结果
我试图选择的菜单下拉菜单实际上是多余的,但是菜单栏使用了没有类或ID的HREF javascript,我也尝试在没有任何运气的情况下执行它,所以我将注意力转向了带有ID的下拉菜单
Private Sub btnSearch_Click()
Dim page, srch As String
srch = Me.txtSearch
page = "http://xxagile.xxxxxx.com/Agile/" & _
"PLMServlet?module=LoginHandler&opcode=forwardToMainMenu#"
Dim ie As InternetExplorer: Set ie = New InternetExplorerMedium
With ie
.Visible = True
.Navigate page
End With
Do Until ie.ReadyState = 4: DoEvents: Loop
Dim iDoc As HTMLDocument: Set iDoc = ie.Document
With iDoc
.getElementById("toggle_search_menu").Click ' select menu
.getElementById("cls_901").Click ' select ITEM from menu
.getElementById("quicksearch_string").Value = srch ' enter string
.getElementById("top_simpleSearch").Click ' click search button
End With
Do Until ie.ReadyState = 4: DoEvents: Loop
'iDoc.getElementById("rightMenuImg").Click ' error 91
'iDoc.getElementById("rightScrollMenu").Click ' error 91
With ie
'.Stop
'.Quit
End With
Set ie = Nothing: Set iDoc = Nothing
End Sub
外面的TML大约有1600多行,所以我把它缩短到这个
<div id="rightpanecontent">
<form name="MainForm" method="POST" action="PCMServlet" enctype="application/x-www-form-urlencoded" onsubmit="return false;" target="_self">
<!--************************************
TAB VIEW
*************************************-->
<div id="tabsview_wrapper">
<div id="tabsandcontrols"> <!-- wrapper for tabs, dms, and tab actions -->
<!--************************************
TABS
*************************************-->
<div id="leftScroll" style="display: none; left: 129px; top: 174px;">
<div id="rightScroll" style="display: none; left: 528px; top: 174px;">
<img id="rightScrollImg" src="/Agile/static/6dbe07cad9d304865dea9dfd18d4cb59/images/icn_action_tabscroll_right_enabled.png" onmousedown="scrollButtonPressed(event, 'right')" onmouseup="hideShowScrollButtons()" oncontextmenu="return false" style="cursor: pointer;">
</div>
<div id="rightScrollMenu" style="display: block; left: 891px; top: 142px;">
<img id="rightMenuImg" src="/Agile/static/8913d52dc8a2aeaaa1ea83e36663943d/images/icn_action_tabmenu.png" onclick="showTabsMenu(this, '21', event)" ondblclick="showTabsMenu(this, '21', event)" style="cursor: pointer;">
</div>
我尝试了大量的编码变体。开火,点击,筑巢,聚焦等等,我就到了终点
敏捷屏幕捕获
尤里卡时刻
Dim sJS As String
sJS = "javascript:displayObject" & _
"('ItemHandler', '10000', '394341431', '12','', '0');"
Call iDoc.parentWindow.execScript(sJS)
尤里卡时刻
Dim sJS As String
sJS = "javascript:displayObject" & _
"('ItemHandler', '10000', '394341431', '12','', '0');"
Call iDoc.parentWindow.execScript(sJS)