WEBROWSER打开“http://www.solomonbrothers.com/DiamondSearch.aspx”后,page=10WebBrowser1.Navigate2 "javascript:updateResults(" & page & ");", False没有翻到第10页WebBrowser1.document.All("ctl00$ContentPlaceHolder$ProductPagerTop$PageSize").Value = 60也没有实现每页显示60条记录
<select name="ctl00$ContentPlaceHolder$ProductPagerTop$PageSize" id="ctl00_ContentPlaceHolder_ProductPagerTop_PageSize" onchange="ResetPageIndex('ctl00_ContentPlaceHolder_ProductPagerTop_PageIndex'); OnLoadRecords('ctl00_ContentPlaceHolder_ProductPagerTop', 'ctl00_ContentPlaceHolder_ProductPagerTop_PageSize', 'ctl00_ContentPlaceHolder_ProductPagerTop_PageIndex');">dim x
set x = webbrowser.document.getelementbyid("ctl00_ContentPlaceHolder_ProductPagerTop_PageSize")
x.selected=true
call x.onchange
刚才那个代码是用在checkbox元素的select元素这么用:dim x
set x = webbrowser.document.getelementbyid("ctl00_ContentPlaceHolder_ProductPagerTop_PageSize")
x.item(1).selected=true '这里的1就是你要的60条每页,combo好理解吧?这个combo的listindex
call x.onchange
我粗心惯了,凑合看吧
给你发个我测试好的代码,你要的两个问题都在里面添加command1,command2,command3,webbrowser四个控件,
按command1是选一个形状,按command1是60/页,按command2是跳到第10页
Private Sub Command1_Click()
Dim x
Set x = WebBrowser1.Document.getelementbyid("ctl00_ContentPlaceHolder_ctl06_0")
x.Checked = True '用checkbox选一个形状,我选的round
Call x.onclick
End SubPrivate Sub Command2_Click()
Dim x
Set x = WebBrowser1.Document.getelementbyid("ctl00_ContentPlaceHolder_ProductPagerTop_PageSize")
x.Item(2).Selected = True '60条每页
Call x.onchange
End SubPrivate Sub Command3_Click()
Dim x
Set x = WebBrowser1.Document.getelementbyid("ctl00_ContentPlaceHolder_ProductPagerTop_PageIndex")
'Call x.onchange
x.Item(9).Selected = True '第10页
Call x.onchange
End SubPrivate Sub Form_Load()
WebBrowser1.Navigate "http://www.solomonbrothers.com/DiamondSearch.aspx"
End Sub看到了吧,其实所有的代码都是加上一个 call 对象.触发函数,checkbox是onclick,combo是onchange
With WebBrowser1.Document.all("ctl00_ContentPlaceHolder_ProductPagerTop_PageIndex")
.selectedIndex = 9
.onchange
End With
上面两次onchange其实我注释掉了一个 - -
打多了,懒得删,就注释掉咯,只按一个键多好啊