Foxtable(狐表)用户栏目专家坐堂 → 求助:模拟网页点击“搜索”操作出错


  共有1988人关注过本帖树形打印复制链接

主题:求助:模拟网页点击“搜索”操作出错

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:模拟网页点击“搜索”操作出错  发帖心情 Post By:2016/11/2 17:40:00 [只看该作者]

http://search.jcrb.com/was5/web/gzwengan.html打开得到下图

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

点击搜索后会新弹窗打开【问题1:是否可以不弹窗呢?而是直接获取源代码】
http://search.jcrb.com/was5/web/search?searchword=&channelid=263328&imageField.x=23&imageField.y=19
显示当前文章全部列表

模拟网页点击操作代码如下:【问题2:模拟点搜索,结果出错,不能操作得到搜索结果,搜索字可以为空搜索】
Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser1").Basecontrol
web.Navigate("http://search.jcrb.com/was5/web/gzwengan.html")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
 web.Document.GetElementById("        ").InvokeMember("click")    红色部分该怎么写呢?因为该页面没有ID标签,


运行后弹框

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看


下面是网页源代码:

<body style="margin:0; padding:0">
<Table width="200" border="0" cellpadding="0" cellspacing="0" >
<form name="searchform" method="get" action="http://search.jcrb.com/was5/web/search" target="_blank" >
<tr>
 
    <td width="176" height="25" align="left">
      <input Type="text"   value=""  name="searchword" id="textfield" class="sousuo_1"  align="left" />
      <!--INPUT value="" name="searchword" Type="hidden"-->
 <input name="channelid" value="263328" Type="hidden">
 </td>
<td width="40" border="0" cellpadding="0" cellspacing="0" >
                       <input Type="image" name="imageField" src="http://www.jl.jcy.gov.cn/images/sousuo_2.jpg" />
      </td>
 
</tr>
</form>
</Table>

</body>

 回到顶部
帅哥哟,离线,有人找我吗?
有点青
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/2 18:47:00 [只看该作者]

1、web.ScriptErrorsSuppressed = True

 

2、

 

Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser1").Basecontrol
web.ScriptErrorsSuppressed = True
web.Navigate("http://search.jcrb.com/was5/web/gzwengan.html")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Dim inputs = web.Document.GetElementsByTagName("input")
For Each Input As object In Inputs
    If Input.GetAttribute("name") = "imageField"
        Input.InvokeMember("click")
    End If
Next

[此贴子已经被作者于2016/11/2 18:47:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点青
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/2 18:52:00 [只看该作者]

3、

 

Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser1").Basecontrol
web.ScriptErrorsSuppressed = True
web.Navigate("http://search.jcrb.com/was5/web/gzwengan.html")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
For Each archor As object In web.Document.Forms
    archor.SetAttribute("target", "_self")
Next
Dim inputs = web.Document.GetElementsByTagName("input")
For Each Input As object In Inputs
    If Input.GetAttribute("name") = "imageField"
        Input.InvokeMember("click")
    End If
Next


 回到顶部