Foxtable(狐表)用户栏目专家坐堂 → 【已解决】[求助]网页自动填写


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

主题:【已解决】[求助]网页自动填写

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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
【已解决】[求助]网页自动填写  发帖心情 Post By:2019/3/21 15:24:00 [只看该作者]

通过ID写入
Dim web As System.Windows.Forms.WebBrowser= e.Form.Controls("WebBrowser1").baseControl

 web.Document.GetElementById("kw").SetAttribute("Value", e.Form.Controls("TextBox1").Text)

这种会
,如果是复杂的呢?比如这个网页。下载文件,我需要在受理人框内输入“受理人”,处理结果框内输入“结果”。怎么写呢?
[此贴子已经被作者于2019/3/21 22:16:56编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 16:00:00 [只看该作者]

找到对应的元素,如记录为 abc

 

给abc赋值,如 abc.SetAttribute("Value", "123")


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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 16:54:00 [只看该作者]

弱弱的问句,取元素怎么取?

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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 17:07:00 [只看该作者]

根据前面模拟点击按钮跟获取网页信息试了下,还是不会

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 17:09:00 [只看该作者]

以下是引用zto001在2019/3/21 17:07:00的发言:
根据前面模拟点击按钮跟获取网页信息试了下,还是不会

 

看你之前发的帖子,读取表格内容、获取保存按钮,都是查找元素。

 

 


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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 17:37:00 [只看该作者]

Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser3").Basecontrol
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
msgbox("0")

Dim inputs = web.Document.GetElementsByTagName("div")
For Each Input As object In Inputs
    If Input.GetAttribute("class") = "z_value z_handleResult"
msgbox("1")
        Input.SetAttribute("Value", "123")
msgbox("2")
    End If
Next

1/2都没执行
[此贴子已经被作者于2019/3/21 17:37:51编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 18:00:00 [只看该作者]

Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser3").Basecontrol
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
msgbox("0")

Dim inputs = web.Document.GetElementsByTagName("input")
For Each Input As object In Inputs
msgbox(input.innerHtml)
    If Input.GetAttribute("classname") = "z_value z_handleResult"
msgbox("1")
        Input.SetAttribute("Value", "123")
msgbox("2")
    End If
Next

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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 22:00:00 [只看该作者]

Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser1").Basecontrol
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
Dim inputs = web.Document.GetElementsByTagName("textarea")
For Each Input As object In Inputs
    If Input.GetAttribute("classname") = "z_value z_handleResult"
        Input.SetAttribute("Value", "处理结果")
    End If
Next

Dim inputs1 = web.Document.GetElementsByTagName("input")
For Each Input1 As object In Inputs1
    If Input1.GetAttribute("classname") = "z_value z_website"
        Input1.SetAttribute("Value", "对方网点")
    End If
    If Input1.GetAttribute("classname") = "z_value z_tell"
        Input1.SetAttribute("Value", "对方电话")
    End If
    If Input1.GetAttribute("classname") = "z_value z_accepter"
        Input1.SetAttribute("Value", "对方受理人")
    End If
Next

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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 22:04:00 [只看该作者]

原来这个是用来取元素,这三种不同结果就是一种方法啊

 回到顶部