某省教师研修自动切课代码测试分享交流(不提供程序)
每年暑假老师放假,大量的网络培训,研修就开始了,好像看不到尽头,课程还是不错的,值得一听,放假家里事多,但是总不能,整天坐到电脑旁吧。为了解放双手,写了几行代码,和大家交流。一、首先安装谷歌浏览器,本代码是.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的谷歌浏览器插件进行切换和关闭,大家有空可以试一下,感谢和大家交流 charleschai 发表于 2022-8-14 12:15
有个成品照顾下小白就更好了
成品只是某个省的,不提供成品,其他省的需要定制 忘了说我是小白!有🈶用。 我试了一下代码老是没反应呢? 也还比较有价值啊 虽看不懂还是谢谢分享 赞 多谢分享 我用的上,谢谢╰(*′︶`*)╯ 多谢分享 能不能放个成品呢 我拿代码测试一下,谢谢
页:
[1]
2