以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于网页控件等待问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=57360)

--  作者:well_nick
--  发布时间:2014/9/23 15:18:00
--  关于网页控件等待问题
需要等待打开网页后,然后点击网页一点地方(点击自动播放视频),我现在问题是等待网页转载,需要等待几秒时间。
我用的是 Threading.Thread.Sleep(2000)  ,问题是这个线程把网页装载 和点击 都做了延迟。而我需要等待网页完成后,
自动点击。有好办法吗?

Dim brw As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
brw.Address = "http://www.baidu.com" \'随便啊
Const MOUSEEVENTF_MOVE As Int32 = &H1 \'  mouse move
    Const MOUSEEVENTF_LEFTDOWN As Int32 = &H2 \'  left button down
    Const MOUSEEVENTF_LEFTUP As Int32 = &H4 \'  left button up
    Const MOUSEEVENTF_RIGHTDOWN As Int32 = &H8 \'  right button down
    Const MOUSEEVENTF_RIGHTUP As Int32 = &H10 \'  right button up
    Const MOUSEEVENTF_MIDDLEDOWN As Int32 = &H20 \'  middle button down
    Const MOUSEEVENTF_MIDDLEUP As Int32 = &H40 \'  middle button up
    Const MOUSEEVENTF_ABSOLUTE As Int32 = &H8000 \'  absolute move
    Const MOUSEEVENTF_WHEEL As Int32 = &H800 \' wheel button rolled
Threading.Thread.Sleep(2000)   
 SetCursorPos (599, 589) \'鼠标位置
 mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) ‘点击
mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)


--  作者:有点甜
--  发布时间:2014/9/23 15:22:00
--  


Dim brw As WinForm.WebBrowser \'= e.Form.Controls("WebBrowser1")
brw.Address = "http://www.baidu.com" \'随便啊

Dim web As object = brw.Basecontrol

Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Const MOUSEEVENTF_MOVE As Int32 = &H1 \'  mouse move
Const MOUSEEVENTF_LEFTDOWN As Int32 = &H2 \'  left button down
Const MOUSEEVENTF_LEFTUP As Int32 = &H4 \'  left button up
Const MOUSEEVENTF_RIGHTDOWN As Int32 = &H8 \'  right button down
Const MOUSEEVENTF_RIGHTUP As Int32 = &H10 \'  right button up
Const MOUSEEVENTF_MIDDLEDOWN As Int32 = &H20 \'  middle button down
Const MOUSEEVENTF_MIDDLEUP As Int32 = &H40 \'  middle button up
Const MOUSEEVENTF_ABSOLUTE As Int32 = &H8000 \'  absolute move
Const MOUSEEVENTF_WHEEL As Int32 = &H800 \' wheel button rolled
Threading.Thread.Sleep(2000)
SetCursorPos (599, 589) \'鼠标位置
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) \'点击
mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)


--  作者:well_nick
--  发布时间:2014/9/23 15:42:00
--  
用了这个代码后,没起作用。
--  作者:Bin
--  发布时间:2014/9/23 15:49:00
--  
写到计时器里面去
--  作者:well_nick
--  发布时间:2014/9/23 15:53:00
--  
这个问题就搞大了,我是想用计时器的,每隔一个时间自动打开页面,然后自动点击页面。
--  作者:有点甜
--  发布时间:2014/9/23 15:58:00
--  
以下是引用well_nick在2014-9-23 15:53:00的发言:
这个问题就搞大了,我是想用计时器的,每隔一个时间自动打开页面,然后自动点击页面。

 

例子发上来,不知道是什么情况,很难做判断。


--  作者:well_nick
--  发布时间:2014/9/23 16:38:00
--  
就看button1 的鼠标事件
现在问题是程序运行,装载页面和鼠标点击是连接在一起的,也就说,延迟时,页面还在装载时鼠标点击了
--  作者:well_nick
--  发布时间:2014/9/23 16:38:00
--  
附件!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:视频.zip

[此贴子已经被作者于2014-9-23 16:39:22编辑过]

--  作者:有点甜
--  发布时间:2014/9/23 16:58:00
--  
 测试不了,测试使用的用户名、密码等发上来。
--  作者:well_nick
--  发布时间:2014/9/23 17:12:00
--  
地址就换成 http://tv.sohu.com/20140921/n404501318.shtml 吧,点击停止 ,启动