<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