bjszz 发表于 2022-8-13 21:43

某省教师研修自动切课代码测试分享交流(不提供程序)

每年暑假老师放假,大量的网络培训,研修就开始了,好像看不到尽头,课程还是不错的,值得一听,放假家里事多,但是总不能,整天坐到电脑旁吧。为了解放双手,写了几行代码,和大家交流。
一、首先安装谷歌浏览器,本代码是.net框架,c#实现,用到了两个东西Nuget包
1、HtmlAgilityPack
2、Selenium
二、首先用xpath获取节点
   HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

                              doc.LoadHtml(html);
                              var ns = doc.DocumentNode.SelectNodes("/html/body/app-root/layout-pro/div/nz-sider/div/div/div/ul/li/div/ul/li/a");
三、循环节点内列表,获取xpath进行点击
foreach (var n in ns){                                 webDriver.FindElement(By.XPath(n.XPath)).Click();
}
四、切换浏览器标签,定位听课视频页
foreach (var durl in webDriver.WindowHandles)
                                                                        {

                                                                            webDriver.SwitchTo().Window(durl);
                                                                            var qurl = webDriver.Url;
                                                                            if (qurl.Contains("learning"))
                                                                            {

                                                                              m = qurl;
                                                                              break;
                                                                            }

                                                                        }
五、部分完整代码
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

                              doc.LoadHtml(html);
                              var ns = doc.DocumentNode.SelectNodes("/html/body/app-root/layout-pro/div/nz-sider/div/div/div/ul/li/div/ul/li/a");
                              foreach (var n in ns)
                              {
                                        webDriver.FindElement(By.XPath(n.XPath)).Click();
                                                            foreach (var durl in webDriver.WindowHandles)
                                                            {
                                                                webDriver.SwitchTo().Window(durl);
                                                                var qurl = webDriver.Url;
                                                                if (qurl.Contains("learning"))
                                                                {
                                                                  m = qurl;
                                                                  break;
                                                                }
                                                            }
                                 }

其实代码不复杂,主要利用爬虫插件HtmlAgilityPack获取网页上视频列表的xpath集合,然后利用循环点击打开视频也进行播放,如果遇到弹出,对网页的弹窗内容进行分析,来循环点击弹窗按钮关闭弹窗,继续听课
如果浏览器遇到标签切换可利用Selenium的谷歌浏览器插件进行切换和关闭,大家有空可以试一下,感谢和大家交流

bjszz 发表于 2022-8-14 12:22

charleschai 发表于 2022-8-14 12:15
有个成品照顾下小白就更好了

成品只是某个省的,不提供成品,其他省的需要定制

gao887 发表于 2022-8-13 22:12

忘了说我是小白!有🈶用。

fu2022 发表于 2022-8-13 23:03

我试了一下代码老是没反应呢?

canon75 发表于 2022-8-13 23:26

也还比较有价值啊

liguang0527 发表于 2022-8-13 23:34

虽看不懂还是谢谢分享

jcyd 发表于 2022-8-14 04:24

赞 多谢分享

liuchunjie 发表于 2022-8-14 06:21

我用的上,谢谢╰(*′︶`*)╯

wysyz 发表于 2022-8-14 07:52

多谢分享

jlzjf 发表于 2022-8-14 07:54

能不能放个成品呢

tencentma 发表于 2022-8-14 08:40

我拿代码测试一下,谢谢
页: [1] 2
查看完整版本: 某省教师研修自动切课代码测试分享交流(不提供程序)