webBrowser加载完成的事件问题不解,不知到底啥时完是加载完了。

禁用F3 2016-05-31 01:51:36

private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser.ReadyState < WebBrowserReadyState.Complete || webBrowser.Url.ToString() == LastUrl) return; //每个URL运行一次
LastUrl = webBrowser.Url.ToString();
if (LastUrl == "https://s.taobao.com/")
{
webBrowser.Document.GetElementById("q").InnerText = "发电机";
HtmlElement htmle = webBrowser.Document.GetElementsByTagName("button")[0];
htmle.InvokeMember("click"); //这里点击搜索后
}

/*
问题在下面哪一句获取div。
我想的是,上面的点击完搜索后重新加载页面执行后应该有新的DOM数据。可这里没有真实的数据。还是和第一次加载的DOM是一样的?
要何解呢?
*/
var page =this.webBrowser.Document.GetElementsByTagName("div");

}
...全文
493 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小枪 2016-05-31
  • 打赏
  • 举报
回复
用webrequest 仔细抓包看结果什么页面的 构造提交 提取
showjim 2016-05-31
  • 打赏
  • 举报
回复
如果是脚本生成的东西,要么读懂程序hook,要么setInterval
zj_zwl 2016-05-31
  • 打赏
  • 举报
回复
判断是否加载完成还真不是个简单事
圣殿骑士18 2016-05-31
  • 打赏
  • 举报
回复
引用 3 楼 chirea 的回复:
[quote=引用 2 楼 sp1234 的回复:] 你要是想“偷窥”点什么东西,那么就深入一点、具体一点,去看懂它的源代码。不要总是套用5年前的那种思路。
需求是把搜索出的发电机关键词的数据全部抓出来。 看了他的源码生存的是在脚本里面。脚本里面的东西有点乱。需要生存后的HTML代码。有啥好思路呢?[/quote] 复杂需求就使用DOM记解析,简单的就直接html文本解析
禁用F3 2016-05-31
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
你要是想“偷窥”点什么东西,那么就深入一点、具体一点,去看懂它的源代码。不要总是套用5年前的那种思路。
需求是把搜索出的发电机关键词的数据全部抓出来。 看了他的源码生存的是在脚本里面。脚本里面的东西有点乱。需要生存后的HTML代码。有啥好思路呢?
  • 打赏
  • 举报
回复
你要是想“偷窥”点什么东西,那么就深入一点、具体一点,去看懂它的源代码。不要总是套用5年前的那种思路。
  • 打赏
  • 举报
回复
现在的前端,通过 ajax、websocket 等等机制的数据服务和 html 异步访问很多,不是简单地下载页面。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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