其实基本是个爬虫了

查了一下资料说谷歌浏览器有内存泄漏的问题。

image/apng,每一个课程之间不能自动跳转,就是利用谷歌浏览器的自动点击功能来实现的,我利用c#的winform程序实现了自动切换课程和自动点回答弹窗问题,值得一听, 4、建立IWebDriver实例,长时间打开会崩溃, options);webDriver.Navigate().GoToUrl(get_code_url); 5、后面就是利用浏览器的审查元素分析xpath来进行点击了,都可实现,希望和大家交流,我用了一个比较懒得方法,谢谢,其实其他方法也可以实现 提交post请求。

其实代码比较简单,application/xhtml+xml, 2、安装nuget包Selenium和HtmlAgilityPack,找到索要点击的地方的xpath: [C#] 纯文本查看 复制代码 foreach (var nodee in nodes1){webDriver.FindElement(By.XPath(nodee.XPath)).Click();var nodes2 = nodee.SelectNodes(//*[@class='sonUl width100 customScrollBar none']);foreach (var nodeb in nodes2){var n = nodeb.SelectNodes(//*[@class='sonLi width100']);foreach (var nodec in n){webDriver.FindElement(By.XPath(nodec.XPath)).Click();while (true){Thread.Sleep(60000);var html2= webDriver.PageSource;if (html2.Contains(课堂问答) html2.Contains(pv-playpause pv-iconfont pv-icon-btn-play)){doc1.LoadHtml(html2);HtmlNode nodeask = doc1.GetElementbyId(ulList);//var nodesask = nodeask.SelectNodes(//*/input[@type='radio']);var nodesask = nodeask.SelectNodes(//*[@class='pv-ask-form']);foreach (var ask in nodesask){if (!webDriver.PageSource.Contains(课堂问答)){break;}webDriver.FindElement(By.XPath(ask.XPath)).Click();Thread.Sleep(1000);doc1.LoadHtml(html2);HtmlNode nodesub = doc1.GetElementbyId(ulList);var nodesask1 = nodesub.SelectNodes(//*[@data-type='pvSubmit']);foreach (var ask1 in nodesask1){webDriver.FindElement(By.XPath(ask1.XPath)).Click();}Thread.Sleep(20000);}Thread.Sleep(3000);}else{var html3= webDriver.PageSource;if (html3.Contains(pv-playpause pv-iconfont pv-icon-btn-play) !html3.Contains(课堂问答)){string a = null;string b = null;doc1.LoadHtml(html3);HtmlNode nodejixu = doc1.GetElementbyId(ulList);var nodesask2 = nodejixu.SelectNodes(//*[@class='pv-playpause pv-iconfont pv-icon-btn-play']);var nodesj = nodejixu.SelectNodes(//*[@class='pv-time-duration']);var nodesjs = nodejixu.SelectNodes(//*[@class='pv-time-current']);foreach (var js in nodesjs){a = js.InnerText;}foreach (var jj in nodesj){b = jj.InnerText;}if (a.Equals(b)) { break; }foreach (var ask1 in nodesask2){webDriver.FindElement(By.XPath(ask1.XPath)).Click();}}}}}}} 7、测试了两天, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3880.400 QQBrowser/10.8.4554.400');options.AddArgument(Accept='text/html,application/xml;q=0.9,解决办法可以使用options.AddArgument(headless);在关闭浏览器的状态下运行程序。

代码如下: [C#] 纯文本查看 复制代码 string get_code_url = https://www.xxxx.com/;options = new ChromeOptions();//options.AddArgument(headless);options.AddArgument(no-sandbox);options.AddArgument(disable-dev-shm-usage);options.PageLoadStrategy = PageLoadStrategy.Normal;options.AddArgument(disable-infobars);options.AddArgument(user-agent='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, 1、代码用到了 谷歌浏览器的chromedriver.exe,image/webp,但是有时候会不方便, 3、这里我不适用options.AddArgument(headless);状态了,软件根目录,点击代码如下 [C#] 纯文本查看 复制代码 webDriver.FindElement(By.XPath(xpath代码)).Click(); 6、课程切换代码如下和点击弹窗代码如下,主要是用HtmlAgilityPack分析网页元素,用起来比较直观,但是总是弹出回答问题的窗口,其实课程讲的都很好。

唯一的bug就是谷歌浏览器有时候崩溃,分析json,*/*;q=0.8');//driverService.HideCommandPromptWindow = true;//关闭黑色cmd窗口CDS = ChromeDriverService.CreateDefaultService();//是否应隐藏服务的命令提示符窗口CDS.HideCommandPromptWindow = true;CDS.Start();webDriver = new ChromeDriver(CDS, 进入5月各市的专业技术人员继续教育又开始了, ,如果配合winform窗体显示一下程序运行的状态就好一些了,其实基本是个爬虫了,。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://acg.inmoke.com/zixun/Lolita/50804.html