吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2933|回复: 16
收起左侧

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

 关闭 [复制链接]
bjszz 发表于 2022-8-13 21:43
每年暑假老师放假,大量的网络培训,研修就开始了,好像看不到尽头,课程还是不错的,值得一听,放假家里事多,但是总不能,整天坐到电脑旁吧。为了解放双手,写了几行代码,和大家交流。
一、首先安装谷歌浏览器,本代码是.net框架,c#实现,用到了两个东西Nuget包
1、HtmlAgilityPack
2、Selenium
二、首先用xpath获取节点
[C#] 纯文本查看 复制代码
   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[4]/div[2]/ul/li/a");

三、循环节点内列表,获取xpath进行点击
[Asm] 纯文本查看 复制代码
foreach (var n in ns)  {                                 webDriver.FindElement(By.XPath(n.XPath)).Click();
  }

四、切换浏览器标签,定位听课视频页
[C#] 纯文本查看 复制代码
 foreach (var durl in webDriver.WindowHandles)
                                                                        {

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

                                                                                m = qurl;
                                                                                break;
                                                                            }

                                                                        }

五、部分完整代码
[Asm] 纯文本查看 复制代码
 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[4]/div[2]/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的谷歌浏览器插件进行切换和关闭,大家有空可以试一下,感谢和大家交流

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
axin0529 + 1 + 1 热心回复!
jomme012 + 1 + 1 我很赞同!
AG9000 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 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
我拿代码测试一下,谢谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 00:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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