苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 8180|回复: 8

[其他] webbrowser点击网页内的所有链接

[复制链接]
发表于 2014-1-24 16:40:19 | 显示全部楼层 |阅读模式
打开百度首页,然后依次点击上面的链接,做的时候发现并不到依次点击上面的效果,贴出代码请教下大家,这个问题困扰了好长时间,如果哪些朋友懂的,麻烦贴下代码,我是新学习的,谢谢!
[C#] 纯文本查看 复制代码
namespace webbrowser点击
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
webBrowser1.Navigate(textBox1.Text);
webBrowser1.ScriptErrorsSuppressed = true;
}
}
private bool zhuantia;//判断加载状态!
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
{
zhuantia = true;
}
else
{
zhuantia = false;
}
}

private void button1_Click(object sender, EventArgs e)
{
//计时器开始!
timer1.Enabled = true;
}

private void onClick()
{
//如果加载完成,获取页面的标签,并点击
if (zhuantia)
{

HtmlElementCollection links = webBrowser1.Document.GetElementsByTagName("A");
foreach (HtmlElement link in links)
{
//如果加载忙,则继续等
if (webBrowser1.IsBusy)
{
MessageBox.Show("正在加载!");
Thread.Sleep(1000);
Application.DoEvents();

}
else
{
link.InvokeMember("click");
}
}
}
}

private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
}

private void timer1_Tick(object sender, EventArgs e)
{
onClick();
}


}
}


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-1-24 16:45:17 | 显示全部楼层
你是想让安什么顺序,页面代码的顺序可不一定是你看到的顺序啊,你得看源码代码
 楼主| 发表于 2014-1-24 17:09:06 | 显示全部楼层
现在这个是只会点击最底部的,前面的链接都没有点击
 楼主| 发表于 2014-1-24 17:10:22 | 显示全部楼层
我的意思是点击链接,然后加载进去就可以了。这个好像只会点击底下的然后一直点击。新闻,贴吧这些都没办法点击,不知道是不是太快了,没有加载进来。我也判断了状态好像还是不太行,请管理员帮看看
发表于 2014-1-24 17:16:06 | 显示全部楼层
你调试看看获取到A链接了吗,先确定下,另外Thread.Sleep(1000);你这个线程不就死了,还怎么跳啊,肯定只显示最后一个,直接用Timer就行了,不要使用Thread.Sleep(1000);
 楼主| 发表于 2014-1-24 18:46:04 来自移动端 | 显示全部楼层
我也试过用time还是不行呢!管理员能不能帮我看看!搞好久了!或付费也可以
 楼主| 发表于 2014-1-24 18:48:24 来自移动端 | 显示全部楼层
功能是打开百度首页!再点上面的连接!模拟点击~加载webbrowser
发表于 2014-1-25 08:47:20 | 显示全部楼层
截图看看要单击那些,提醒一下你要正确使用论坛的基础功能,你一直在回复自己,你跟我讨论要回复我啊
不懂可以来这里学习一下http://www.sufeinet.com/thread-5175-1-1.html
 楼主| 发表于 2014-1-26 23:47:08 | 显示全部楼层
站长苏飞 发表于 2014-1-25 08:47
截图看看要单击那些,提醒一下你要正确使用论坛的基础功能,你一直在回复自己,你跟我讨论要回复我啊
不懂 ...

意思是打开百度首页,然后隔几秒再打开首页上的每一个链接,一个点击完,再轮到下一个这样子!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2025-2-28 18:30

© 2014-2021

快速回复 返回顶部 返回列表