<DIV class="uiMenu uiSelectorMenu" role=menu>
<UL class=uiMenuInner bindPoint="menu">
<LI class="uiMenuItem uiMenuItemRadio uiSelectorOption checked" data-label="Paused"><A aria-checked=true class=itemAnchor role=menuitemradio tabIndex=0 href="#" rel=ignore><SPAN class="itemLabel fsm"><SPAN class=icon_wrap><IMG class="selector icon" src="/images/adz/ad_states/paused.gif"></SPAN>Paused</SPAN></A></LI>
<LI class="uiMenuItem uiMenuItemRadio uiSelectorOption " data-label="Active"><A aria-checked=true class=itemAnchor role=menuitemradio tabIndex=1 href="#" rel=ignore><SPAN class="itemLabel fsm"><SPAN class=icon_wrap><IMG class="selector icon" src="/images/adz/ad_states/running.gif"></SPAN>Active</SPAN></A></LI>
<LI class="uiMenuItem uiMenuItemRadio uiSelectorOption " data-label="Deleted"><A aria-checked=true class=itemAnchor role=menuitemradio tabIndex=2 href="#" rel=ignore><SPAN class="itemLabel fsm"><SPAN class=icon_wrap><IMG class="selector icon" src="/images/adz/ad_states/deleted.gif"></SPAN>Deleted</SPAN></A></LI></UL></DIV></DIV><SPAN bindPoint="copy_link_wrapper"><A class=copy_link href="#"></A></SPAN></DIV><SELECT bindPoint="select"><OPTION value=""></OPTION><OPTION selected value=2>Paused</OPTION><OPTION value=1>Active</OPTION><OPTION value=99>Deleted</OPTION></SELECT> </DIV></TD>
<TD id=td_time_start_html_last_row class=td_time_start_html ?>
以上是我想更改的下拉菜單的HTML代碼。如何以編程方式更改此下拉菜單中的選定項目?
在代碼的末尾有SELECT,OPTION等..我通常可以改變它,但是當我更改selectedIndex時,它不會在網站上做任何事情,我假定它的開始部分是代碼與此有關。
這裏是我的VB6的代碼(注意,您能告訴我在任何語言)
For i = 0 To Form1.WebBrowser1.Document.All.length - 1 '
If Form1.WebBrowser1.Document.All.Item(i).nodeName = "SELECT" Then
For x = 0 To Form1.WebBrowser1.Document.All.Item(i).Options.length - 1
If InStr(Form1.WebBrowser1.Document.All.Item(i).Options(x).Text, "Active") > 0 Then
Form1.WebBrowser1.Document.All.Item(i).selectedIndex = x
End If
Next x
End If
Next i
當我運行代碼,我檢查與 Debug.Print Form1.WebBrowser1.Document.All的項目值.Item(i).Options(x).Selected 它確實返回true,並且上一次選擇確實表示爲false,但在網站上該項目不會更改/更新。
任何幫助,非常感謝。
你有沒有可能將瀏覽器嵌入到VB6 WinForms應用程序中?沒有什麼是清楚的代碼:) –
因爲你似乎在做外部網站的瀏覽器自動化,我可能會建議你使用像WatiN或Selenium這樣的庫嗎?在非結構化代碼中進行如此低級別的處理是長時間工作和糟糕結果的祕訣。如果您可以在大多數自動化庫中對單行執行相同的操作,那麼您正在爲整個DOM搜索一個「SELECT」。 –
高科技,是啊我使用VB6中的WebBrowser,我相信它是一個IE插件(不確定壽)。關於你的建議,我必須做循環的原因是因爲選擇沒有ID ..但只有2個選擇在頁面上,所以它沒有什麼大不了的...也是這個下拉菜單更改是唯一的我必須做的事情:) 編輯:啊我剛剛意識到你的意思..雅是它相當低效我猜,但就像我說我只需要做這1件事,所以我不介意 – user1088794