在document中找到element后value属性不能用???

xj43434777 2018-01-20 11:16:42
网页源码(嵌套在table、form中的input,还有javascript就没有贴出来了):
<input type='text' name='username' id='username' fieldCaption="用户名" maxlength="24" size="16" value='' checkFlag='true' notnull='true' minvalue='1' maxvalue='24' datatype='string' class="text">


我的VBA代码:
Sub test()
Dim ie As InternetExplorer
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate (公司内网网址)
Do Until ie.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set doc = ie.Document
Set el = doc.getElementById("username")'运行到这一步都没有问题
a = el.Value'运行到这一步就报错了:运行时错误'91',对象变量或with块变量未设置
End Sub

READYSTATE_COMPLETE换成4,也不行。
value换成innerhtml、innertext都不行。
到底是哪里出了问题?求大神帮忙解惑!
...全文
674 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xj43434777 2018-01-21
  • 打赏
  • 举报
回复
引用 3 楼 Runnerchin 的回复:
把do 的判断条件改成until el is not nothing吧,已经判断完不是nothing就不会再碰到这个错了。有些情况会多次触发READYSTATE_COMPLETE ,比如涉及到框架的时候会乱套,具体的规则我没留意过,你如果感兴趣可以了解一下。
谢谢!
X-i-n 2018-01-20
  • 打赏
  • 举报
回复
把do 的判断条件改成until el is not nothing吧,已经判断完不是nothing就不会再碰到这个错了。有些情况会多次触发READYSTATE_COMPLETE ,比如涉及到框架的时候会乱套,具体的规则我没留意过,你如果感兴趣可以了解一下。
xj43434777 2018-01-20
  • 打赏
  • 举报
回复
引用 1 楼 Runnerchin 的回复:
a = el.Value 这一行打断点,在监视里查看一下el对象是不是为空。
果然是,值为nothing,为什么会这样呢.......
X-i-n 2018-01-20
  • 打赏
  • 举报
回复
a = el.Value 这一行打断点,在监视里查看一下el对象是不是为空。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧