苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

楼主: 天山明月

[其他] extjs里的点击事件,没有反应,大侠看看是怎么回事

[复制链接]
 楼主| 发表于 2013-9-10 10:17:29 | 显示全部楼层
站长苏飞 发表于 2013-9-9 19:17
你给个网址,告诉我要单击那个,出现什么效果给个图片,我帮你写个得了,

这个网站在内网运行,外网访问不到。

今天再试下这个方案,如果不行,我写个网站类似的demo给你发过去。
思路:
在webbrowser中写入自己的js,用来遍历json的数据源。
看能不能取到想要的数据





1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-9-10 16:26:40 | 显示全部楼层
站长苏飞 发表于 2013-9-9 19:17
你给个网址,告诉我要单击那个,出现什么效果给个图片,我帮你写个得了,

今天上午试了也没有成功,大侠给写个demo看看

网站代码:

需要实现的效果(点击左边的一行,右边会显示相关的信息,然后获取右边展示的信息):



自己写的测试代码:
  1.            string url = "http://localhost:8080/ExtjsWebApp/";
  2.             WebbrowserUtil wu = new WebbrowserUtil();
  3.             wu.LoadUtilCompleted(this.webBrowser1, url);
  4.             Thread.Sleep(1000);

  5.             this.webBrowser1.Invoke(new MethodInvoker(() =>
  6.             {
  7.                 HtmlDocument hd = this.webBrowser1.Document;
  8.                 if (hd != null)
  9.                 {
  10.                     HtmlElement heGrid = hd.GetElementById("jobGrid");
  11.                     HtmlElement heTable = heGrid.GetElementsByTagName("table")[0];
  12.                     HtmlElementCollection hecTrs = heTable.GetElementsByTagName("tr");
  13.                     foreach (HtmlElement heTr in hecTrs)
  14.                     {
  15.                         if (heTr.GetElementsByTagName("td").Count>0)
  16.                         {
  17.                             heTr.FirstChild.FirstChild.InvokeMember("click");
  18.                             //heTr.InvokeMember("click");
  19.                             Thread.Sleep(1000);
  20.                         }
  21.                         else
  22.                         {
  23.                             logger.Info(heTr.OuterHtml);
  24.                         }
  25.                     }

  26.                 }//judge hd ==null

  27.             }));//browser.invoke();
复制代码

效果

效果

webappDemo.zip

748.4 KB, 下载次数: 14, 下载积分: 金钱 -1

网站Demo

 楼主| 发表于 2013-9-11 09:57:49 | 显示全部楼层
站长苏飞 发表于 2013-9-9 19:17
你给个网址,告诉我要单击那个,出现什么效果给个图片,我帮你写个得了,

大侠有时候看一下,要是忙的话,发个思路也行,我再试试
 楼主| 发表于 2013-9-16 14:22:54 | 显示全部楼层
站长苏飞 发表于 2013-9-9 19:17
你给个网址,告诉我要单击那个,出现什么效果给个图片,我帮你写个得了,

网站是内网。无法提供相关信息。demo中是把不能解决的地方摘出来的部分。
大侠看看什么时候有时间帮着解决下。。。
发表于 2013-9-16 16:30:36 | 显示全部楼层
heTr.FirstChild.FirstChild.InvokeMember("click"); 你调试到这里看看heTr.FirstChild.FirstChild这个值是什么,或者看看有没有执行
 楼主| 发表于 2013-9-16 17:00:23 | 显示全部楼层
站长苏飞 发表于 2013-9-16 16:30
heTr.FirstChild.FirstChild.InvokeMember("click"); 你调试到这里看看heTr.FirstChild.FirstChild这个值是 ...

               foreach (HtmlElement heTr in hecTrs)
               {
                   logger.Info(heTr.OuterHtml);
                   if (heTr.GetElementsByTagName("td").Count>0)
                   {
                       MessageBox.Show(heTr.FirstChild.FirstChild.OuterHtml);
                       heTr.FirstChild.FirstChild.InvokeMember("click");//这句话执行过了,应该算是执行了
                       break;

                   }
               }

更多图片 小图 大图
组图打开中,请稍候......
发表于 2013-9-16 17:21:19 | 显示全部楼层
heTr.FirstChild.FirstChild 取一个这个的值 ,InnerHtml
 楼主| 发表于 2013-9-16 17:24:41 | 显示全部楼层
yangying 发表于 2013-9-16 17:21
heTr.FirstChild.FirstChild 取一个这个的值 ,InnerHtml

是100

code:
  1.                        MessageBox.Show("OuterHtml:" + heTr.FirstChild.FirstChild.OuterHtml + "\n InnerHtml:" + heTr.FirstChild.FirstChild.InnerHtml);
  2.                        heTr.FirstChild.FirstChild.InvokeMember("click");
复制代码
innerHtml.jpg
发表于 2013-9-16 17:29:28 | 显示全部楼层
我让人发这个的目的是想看看,是什么数据,其实这个问题很简单,就是看看你单击的对不对,
你先确定是单击100触发这个事件,还是单击单元格会处罚这个事件,如果是单击100的话那就对了,如果不是就错了。你可以都试试吗。把这个几都单击一个,100 一直向上走,单元格,DIV等
 楼主| 发表于 2013-9-16 17:57:52 | 显示全部楼层
yangying 发表于 2013-9-16 17:29
我让人发这个的目的是想看看,是什么数据,其实这个问题很简单,就是看看你单击的对不对,
你先确定是单击 ...

一层层点了,右边还是没有反应。。。。。。。
  1. <tr class="x-grid-row  " _nodup="30804" viewindex="0" viewrecordid="100" boundview="gridview-1022">
  2. <td class=" x-grid-cell x-grid-cell-gridcolumn-1017   x-grid-cell-first">
  3. <div style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">100</div></td>
  4. <td class=" x-grid-cell x-grid-cell-gridcolumn-1018   ">
  5. <div style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">id100</div></td>
  6. <td class=" x-grid-cell x-grid-cell-gridcolumn-1019   x-grid-cell-last">
  7. <div style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on"><span style="COLOR: ">未运行</span></div></td></tr>
复制代码
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-28 10:37

© 2014-2021

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