用webbrowser写自动填表遇到问题

weilams 2011-09-01 11:30:23
<tr>
<td height="22"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="16%" height="22"><input name="checkbox" type="checkbox" onClick="changeDT()" value="1" checked>
<span class="menu_normal">长期票价</span></td>
<td width="11%" align="right" valign="middle"><span class="menu_normal">开始日期:</span></td>
<td width="21%"><div id="d_StartDate" style="visibility:hidden">
<Script>datebox("Start_Date","")</Script>
<input name="dt1" type="hidden">
</div></td>
<td width="10%" align="right" valign="middle"><span class="menu_normal">结束日期:</span></td>
<td width="42%"><div id="d_EndDate" style="visibility:hidden">
<Script>datebox("End_Date","")</Script>
<input name="dt2" type="hidden">
</div></td>
</tr>


以上为网页内容。
现在想自动填写开始日期和结束日期。跟据GreenBrowser浏览器的自动填表单找到了名称,分别为:txt_year_Start_Date、txt_month_Start_Date、txt_day_Start_Date,txt_year_End_Date、txt_month_End_Date、txt_day_End_Date。
然后:
WebBrowser.Document.All("txt_year_Start_Date").Value = “2011”
WebBrowser.Document.All("txt_month_Start_Date").Value = “09”
WebBrowser.Document.All("txt_day_Start_Date").Value = “01”
WebBrowser.Document.All("txt_year_End_Date").Value = “2011”
WebBrowser.Document.All("txt_month_End_Date").Value = “09”
WebBrowser.Document.All("txt_day_End_Date").Value =“11”

这样可以填到表,表单数据显示也是自已定义的,但是提交表单时,就不能提交自已定义的日期,开始和结束日是期都是默认的当前日期。不知是什么原因。但后来发觉,在填表后,用鼠标点击一下这两个日期的表单,这下再提交就可以提交到自已定义的日期了。现在求个明白和解决办法。能让我提交到自定义的日期。
...全文
263 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
alanszx 2012-03-22
  • 打赏
  • 举报
回复
遇到类似的问题, js联动菜单 几天了, 无果 直接post 不会抓包, 分析包,,
weilams 2012-03-22
  • 打赏
  • 举报
回复
这个问题怎么解决呢?
weilams 2011-09-21
  • 打赏
  • 举报
回复
这个也试过的了,不行的。
[Quote=引用 14 楼 zydscaline 的回复:]
试下这个:WebBrowser.Document.All("txt_year_Start_Date").focus
[/Quote]
zydscaline 2011-09-20
  • 打赏
  • 举报
回复
试下这个:WebBrowser.Document.All("txt_year_Start_Date").focus
weilams 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sysdzw 的回复:]
VB code
WebBrowser.Document.All("txt_year_Start_Date").Value = “2011”
WebBrowser.Document.All("txt_year_Start_Date").onClick
WebBrowser.Document.All("txt_month_Start_Date").Value = “09”
WebBrowser……
[/Quote]

该对像不支持该属性。
无·法 2011-09-09
  • 打赏
  • 举报
回复
WebBrowser.Document.All("txt_year_Start_Date").Value = “2011”
WebBrowser.Document.All("txt_year_Start_Date").onClick
WebBrowser.Document.All("txt_month_Start_Date").Value = “09”
WebBrowser.Document.All("txt_month_Start_Date").onClick
WebBrowser.Document.All("txt_day_Start_Date").Value = “01”
WebBrowser.Document.All("txt_day_Start_Date").onClick
WebBrowser.Document.All("txt_year_End_Date").Value = “2011”
WebBrowser.Document.All("txt_year_End_Date").onClick
WebBrowser.Document.All("txt_month_End_Date").Value = “09”
WebBrowser.Document.All("txt_month_End_Date").onClick
WebBrowser.Document.All("txt_day_End_Date").Value =“11”
WebBrowser.Document.All("txt_day_End_Date").onClick
weilams 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jiaruseng 的回复:]
楼主试下在每个字段填完之后加上这样一句看看行不:
Call WebBrowser.Document.All("txt_day_End_Date").fireevent("onchange")
[/Quote]

试过不行哦。
zoujing1000 2011-09-08
  • 打赏
  • 举报
回复
发网页上来
jiaruseng 2011-09-07
  • 打赏
  • 举报
回复
楼主试下在每个字段填完之后加上这样一句看看行不:
Call WebBrowser.Document.All("txt_day_End_Date").fireevent("onchange")
weilams 2011-09-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 guitarer105 的回复:]
JS的问题,网页load后js初始化日期的默认值中间变量,然后可能在submit前赋值给真正的日期input字段。而鼠标点击该区域后中间变量和真实字段同步。 类似这样的js执行机制。 那可以网页模拟点击该区域试试看。
[/Quote]

网页模拟点击这个办法我也想过,但是有时候操作中难以实现,比如说该日期表单的坐标的上下位置改变了就不行了吧。
  • 打赏
  • 举报
回复
可以加我Q 1085992075
weilams 2011-09-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 guitarer105 的回复:]
这里模拟点击是指通过DOM文档模型的操作,不是按键精灵之类的鼠标定位点击。
[/Quote]

能给代码我试试吗?谢谢
guitarer105 2011-09-03
  • 打赏
  • 举报
回复
这里模拟点击是指通过DOM文档模型的操作,不是按键精灵之类的鼠标定位点击。
guitarer105 2011-09-02
  • 打赏
  • 举报
回复
JS的问题,网页load后js初始化日期的默认值中间变量,然后可能在submit前赋值给真正的日期input字段。而鼠标点击该区域后中间变量和真实字段同步。 类似这样的js执行机制。 那可以网页模拟点击该区域试试看。
weilams 2011-09-01
  • 打赏
  • 举报
回复
是不是
<Script>datebox("Start_Date","")</Script>
<input name="dt1" type="hidden">
的问题呢?
weilams 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yiguangqiang88 的回复:]
不准笑:提供个思路试试,行得通行不通就不知道了,因为我是菜鸟:.Value = “2011” & VbCrlf
[/Quote]

有想法,刚刚试过,不行。
  • 打赏
  • 举报
回复
不准笑:提供个思路试试,行得通行不通就不知道了,因为我是菜鸟:.Value = “2011” & VbCrlf

1,502

社区成员

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

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