用webbrowser打开163.com,在用户名处输入文本问题?
按钮代码:
WebBrowser1.Navigate("http://www.163.com")
Do While WebBrowser1.ReadyState <> 4
Application.DoEvents()
Loop
MsgBox(WebBrowser1.Document.All("username").GetAttribute("value"))
WebBrowser1.Document.Body.All("username").SetAttribute("value", "dddd")
红字部分要是去掉的话,打开的网页用户名处就没有改变。
只有执行红字部分,用户名处才变成dddd,请问这是怎么回事,如何解决?
[解决办法]
你这两行代码出奇的不一致啊。。。。
WebBrowser1.Document.Body.All("username").SetAttribute("value", "dddd")
这句,另放一个button的事件,你看网页全打开了之后点这个按钮。。就知道什么事了
[解决办法]
是因为页面还没有加载完毕,你必须在
WebBrowser1_DocumentCompleted
事件里面去设置
[解决办法]
在网页内有 嵌套的话 frame 就会有多个 WebBrowser1.ReadyState
所以 WebBrowser1.ReadyState 不能用
即便是 WebBrowser1_DocumentCompleted 也会有多个
自己想办法判断吧