以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 网页赋值后为什么没出现结果且即刻恢复默认值 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161061)
|
-- 作者:cxmxjwlmq
-- 发布时间:2021/3/4 15:59:00
-- 网页赋值后为什么没出现结果且即刻恢复默认值
各位老师:我在系统中引用一个窗口中的网面,我想在一个网面的输入框中赋值,代码如下:
.....
web1.Document.GetElementById("ctl00_C_frmStart").SetAttribute("Value", "2021-03-01") \'查询-开始时间 web1.Document.GetElementById("ctl00_C_frmEnd").SetAttribute("Value", "2021-03-31") \'查询-结束时间 web1.Document.GetElementById("ctl00_C_frmSCXMC").SetAttribute("Value", "新疆1线") \'生产线 web1.Document.GetElementById("ctl00_C_ischeck").SetAttribute("Value", "9")\'"全部") \'状态 web1.Document.GetElementById("ctl00_C_frmDPH").SetAttribute("Value", "MJ000062") \'底盘号 web1.Document.GetElementById("ctl00_C_btnSearch").InvokeMember("click") \'点击查询按钮
.....
现在是:这些数值都赋值给相应的输入框中后,即刻在相应的输入框中出现网页的默认数值!如下图;
此主题相关图片如下:微信图片_20210304155303.png
我想达成的效果是:完成赋值并出现查询数据。如下图:
此主题相关图片如下:微信图片_20210304155254.png
麻烦各位老师费心!
[此贴子已经被作者于2021/3/4 15:59:58编辑过]
|
-- 作者:有点蓝
-- 发布时间:2021/3/4 16:51:00
--
贴出完整代码,代码放在那里的?
|
-- 作者:cxmxjwlmq
-- 发布时间:2021/3/4 17:22:00
--
全部代码:
\'Dim web As System.Windows.Forms.WebBrowser = Forms("公司SCF系统").Controls("WebBrowser1").Basecontrol Dim web1 As System.Windows.Forms.WebBrowser = Forms("公司SCF系统").Controls("WebBrowser2").Basecontrol \' web.Navigate("http://。。。。") \' web.Navigate("http://。。。") Do Until web1.ReadyState = 4 Application.DoEvents Loop \' web.Document.GetElementById("UserName").SetAttribute("Value", "...") \' web.Document.GetElementById("Password").SetAttribute("Value", ".....") \' web.Document.GetElementById("btnSubmit").InvokeMember("click")
Forms("公司SCF系统").Show() web1.Navigate("http://。。。。。") Forms("公司SCF系统").controls("Textbox1").Text = "下线条码打印"
\'web1.Document.Window.Frames("公司SCF系统").Document.GetElementById("ctl00_C_frmSCXMC").SetAttribute("Value", "新疆1线") \'获得第二个FrAMES框架里面的ID为"username"的的HTML标签元素,并且将其Value设置为"test138" \'web1.Document.Window.Frames("公司SCF系统").Document.GetElementById("ctl00_C_frmDPH").SetAttribute("Value", "MJ000062") \'获得第二个FrAMES框架里面的ID为"pwd1"的的HTML标签元素,并且将其Value设置为"a110110" \'如果元素不是在Frame框架中,那么直接 web.Document.GetElementById 即可 web1.Document.GetElementById("ctl00_C_frmStart").SetAttribute("Value", "2021-03-01") \'查询-开始时间 web1.Document.GetElementById("ctl00_C_frmEnd").SetAttribute("Value", "2021-03-31") \'查询-结束时间 web1.Document.GetElementById("ctl00_C_frmSCXMC").SetAttribute("Value", "新疆1线") \'生产线 web1.Document.GetElementById("ctl00_C_ischeck").SetAttribute("Value", "9")\'"全部") \'状态 web1.Document.GetElementById("ctl00_C_frmDPH").SetAttribute("Value", "MJ000062") \'底盘号 web1.Document.GetElementById("ctl00_C_btnSearch").InvokeMember("click") \'点击查询按钮
代码在一个窗口的按钮的Click事件,调用Forms("公司SCF系统")窗口出现查询数据!
请老师费心!
[此贴子已经被作者于2021/3/4 17:58:29编辑过]
|
-- 作者:有点蓝
-- 发布时间:2021/3/4 17:24:00
--
Dim web1 As System.Windows.Forms.WebBrowser = Forms("公司SCF系统").Controls("WebBrowser2").Basecontrol web1.Navigate("http://172.20.210.100:1000/MotorLM/SCGL/SCJH_RLJDJHXP.aspx")Do Until web1.ReadyState = 4 Application.DoEvents Loop web1.Document.GetElementById("ctl00_C_frmStart").SetAttribute("Value", "2021-03-01") ……
|
-- 作者:cxmxjwlmq
-- 发布时间:2021/3/4 17:42:00
--
谢谢蓝老师!
感谢!
|
-- 作者:cxmxjwlmq
-- 发布时间:2021/3/5 12:09:00
--
不好意思,蓝老师,还得麻烦您以下问题:
1、网页中有一个 checkbox单选框,我想要直接赋值为选中,但用以下代码:
web1.Document.GetElementById("ctl00_C_gv_ctl02_cb").InvokeMember(ctl00_C_gv_ctl02_cb.Checked = True)
提示:未将对象引用设置到对象的实例。
网页分析如下:
<TD align=center><INPUT id=ctl00_C_gv_ctl02_cb CHECKED type=checkbox name=ctl00$C$gv$ctl02$cb> </TD>
2、网页中有一个 checkbox单选框,我想要直接赋值为选中,但用以下代码:
web1.Document.GetElementById("ctl00_C_gv_ctl02_GridView2").InvokeMember(ctl00_C_gv_ctl02_GridView2.Checked = True)
提示未将对象引用设置到对象的实例。
网页分析如下:
<TABLE id=ctl00_C_gv_ctl02_GridView2 class=m_table style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 border=0>
这是未赋值开后的效果:
此主题相关图片如下:微信图片_20210305114947.png
我想要的效果是两个都选上:效果如下图
此主题相关图片如下:微信图片_20210304155254.png
谢谢!麻烦老师费心!
[此贴子已经被作者于2021/3/5 12:11:37编辑过]
|
-- 作者:有点蓝
-- 发布时间:2021/3/5 12:15:00
--
web1.Document.GetElementById("ctl00_C_gv_ctl02_cb").SetAttribute("checked", "checked")
|
-- 作者:cxmxjwlmq
-- 发布时间:2021/3/5 13:56:00
--
老师,不好意思,还是出现如下提示,两个框没有选中
如下图:
此主题相关图片如下:微信图片_20210305134732.png
可能是网页解析的问题吗?网页解析如下(两个单选框的网页):
……..
<DIV>
<TABLE id=ctl00_C_gv class=m_table style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TH style="WIDTH: 20px" scope=col><SPAN title=全选/取消><INPUT onclick=ctl00$C$gv$ctl02$cb.checked=ctl00$C$gv$ctl01$ctl16.checked; id=ctl00_C_gv_ctl01_ctl16 type=checkbox name=ctl00$C$gv$ctl01$ctl16></SPAN></TH>
<TH scope=col>序号</TH>
<TH scope=col>采集零件</TH>
……..
<TD align=center><INPUT id=ctl00_C_gv_ctl02_cb CHECKED type=checkbox name=ctl00$C$gv$ctl02$cb> </TD>
<TABLE id=ctl00_C_gv_ctl02_GridView2 class=m_table style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TD style="WIDTH: 50px">1 </TD>
<TD style="WIDTH: 50px"><A href="javascript:expandcollapse(\'divMJ000062\', \'one\');"><IMG id=imgdivMJ000062 border=0 alt="Expand to show Orders" src="/Images/plus.gif" width=9> </A>
<TD style="WIDTH: 80px" vAlign=middle align=center>新疆1线</TD>
……
老师辛苦!
|
-- 作者:有点蓝
-- 发布时间:2021/3/5 14:23:00
--
可能是页面有js动态控制影响了,看上面返回的页面数据已经是勾选状态的了
<TD align=center><INPUT id=ctl00_C_gv_ctl02_cb CHECKED type=checkbox name=ctl00$C$gv$ctl02$cb> </TD>
至于这种页面分析控制的用法我这里无法提供支持,只能自己去分析了
|
-- 作者:cxmxjwlmq
-- 发布时间:2021/3/8 19:38:00
--
蓝老师:
我用以下代码,未找到网页表中的ID号ctl00_C_gv_ctl02_cb
Dim inputs = web1.Document.GetElementsByTagName("Input") |
For Each Input As object In Inputs |
msgbox(input.id) |
Next
是不是网页表中的单选框ID,要在TABLE id=ctl00_C_gv里用别的代码才能找到!
麻烦你给看看,谢谢!
网页分析
<DIV>
<TABLE id=ctl00_C_gv class=m_table style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TH style="WIDTH: 20px" scope=col><SPAN title=全选/取消><INPUT onclick=ctl00$C$gv$ctl02$cb.checked=ctl00$C$gv$ctl01$ctl16.checked; id=ctl00_C_gv_ctl01_ctl16 type=checkbox name=ctl00$C$gv$ctl01$ctl16></SPAN></TH>
<TH scope=col>序号</TH>
<TH scope=col>采集零件</TH>
……..
<TD align=center><INPUT id=ctl00_C_gv_ctl02_cb type=checkbox name=ctl00$C$gv$ctl02$cb> </TD>
<TABLE id=ctl00_C_gv_ctl02_GridView2 class=m_table style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 border=0>
<TBODY>
| 谢谢费心!
[此贴子已经被作者于2021/3/8 19:38:49编辑过]
|