WebBrowser如何移动鼠标到指定的超链接文字上?

yizhixx2016 2019-08-20 11:36:07
郊果如下,移动鼠标到下一页,变成一个手






请问,在WebBrowser里如何实现模拟鼠标移动?
...全文
183 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
无·法 2019-09-12
  • 打赏
  • 举报
回复
引用 8 楼 yizhixx2016 的回复:


<div id="page" >


<strong><span class="fk fk_cur"><i class="c-icon c-icon-bear-p"></i></span><span class="pc">1</span></strong><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=10&oq=%E8%84%9%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI&rsv_page=1" class="n">下一页></a>


</div>

你这是想模拟点击百度搜索结果的下一页是吧。直接用SetCursorPos移动鼠标好了,网页载入时下拉到底部,这样这个“下一页”距离坐标和下面就固定了。



Private Sub Command1_Click()
Dim w As New clsWindow
w.hWnd = Me.hWnd
w.ClickPoint 627, w.Height - 104, , , 3500 ‘等待3.5秒后执行点击’
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
WebBrowser1.Document.parentWindow.Scroll 0, WebBrowser1.Document.Body.scrollHeight
End Sub
上述代码使用了clswindow框架
框架下载地址:https://github.com/sysdzw/clswindow
框架介绍地址:https://blog.csdn.net/sysdzw/article/details/9083313
yizhixx2016 2019-09-11
  • 打赏
  • 举报
回复


<div id="page" >


	    <strong><span class="fk fk_cur"><i class="c-icon c-icon-bear-p"></i></span><span class="pc">1</span></strong><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=10&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk fkd"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">2</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=20&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">3</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=30&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk fkd"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">4</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=40&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">5</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=50&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk fkd"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">6</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=60&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">7</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=70&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk fkd"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">8</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=80&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">9</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=90&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI"><span class="fk fkd"><i class="c-icon c-icon-bear-pn"></i></span><span class="pc">10</span></a><a href="/s?wd=%E8%84%9A%E8%BD%AE%E5%8E%82&pn=10&oq=%E8%84%9A%E8%BD%AE%E5%8E%82&ie=utf-8&usm=2&rsv_idx=1&rsv_pq=c1b9e8750000743d&rsv_t=8644HEc%2FDL758vGa7ZxIuciCPubi5ePfCr1LsbMj4QiF0UGpHfZYBAUCQnI&rsv_page=1" class="n">下一页></a>


</div>



无·法 2019-09-10
  • 打赏
  • 举报
回复
获取这个元素所在位置,然后用鼠标移动过去。你把你的网址url发出来看看
yizhixx2016 2019-09-03
  • 打赏
  • 举报
回复
我必需要移动光标到一下页停留几秒,click()我会用,但不是不行。办不了事
yizhixx2016 2019-08-27
  • 打赏
  • 举报
回复
我必需要移动光标到一下页停留几秒,click()我会用,但不是不行。办不了事
X-i-n 2019-08-23
  • 打赏
  • 举报
回复
还有另一种方法: 把所有页码的链接、下一页的链接提取出来,然后根据这些链接生成对应的菜单项或者按钮,点窗体上的按钮时(比如第8页),webbrowser导航到对应的链接(第8页对应的链接)。
X-i-n 2019-08-23
  • 打赏
  • 举报
回复
控制光标不太好办,但是有不移动光标的变通方法。 直接把“下一页”这个元素设置为当前焦点,如果想自动点击,就用click()方法: document.getElementById("blogClick").focus();//把指定ID的元素设置为当前焦点 document.getElementById("blogClick").click();//点击指定ID的元素
yizhixx2016 2019-08-22
  • 打赏
  • 举报
回复
帮我把鼠标移过去就行,稳定性无所谓,其它我有办法
现在还是人类 2019-08-22
  • 打赏
  • 举报
回复
思路应该不对,如果真要按照你的思路走,你需要先解决几个问题: 1、WebBrowser的大小不同会影响目标网页布局,这时候你如何确保布局的可靠性? 2、即使识别了是你指定的网页地址,但目标点击区域未必呈现在可视区域,有可能在滚动条底部或中间什么位置,甚至有时候可能目标网页多个广告或临时满屏广告也是有可能的,这时候你又如何确保目标点击区域一定在可视区域?又该如何确保稳定性? 3、这种需求模拟鼠标点击,需要根据窗口的显示隐藏状态,是否被覆盖状态以及窗口位置决定是否抓取窗口图片,然后通过区域特征码识别的方法进行区域识别,识别成功了之后才模拟点击,让如果出现相同的图形特征怎么办? 总之,这种操作不是不可以实现,而是稳定性差,维护性高,不建议这么弄。 建议还是直接找链接地址直接通过URL拉数据的简单稳定,而且效率要比这种图形AI高很多。

1,502

社区成员

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

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