茶叶网站建设模板农村基本制度建设网站
茶叶网站建设模板,农村基本制度建设网站,企业文化建设的内容有哪些,凡科手机网站建设前言 总是三分钟热度的我折腾了一个可以每天自动截取指定网站页面并保存到Github的项目SiteHistory#xff0c;感觉挺好(每次都这样 frameborder0 scrollingno styleborder-width: initial; border-style: none; width: 25px; height: 26px;感觉挺好(每次都这样 frameborder0 scrollingno styleborder-width: initial; border-style: none; width: 25px; height: 26px;)。想知道YouTube今天的首页长啥样么点此查看想知道YouTube2017年8月31日的首页长啥样么改天再点开想为你的网站增加访客么不要问我我不知道。 那年那站那样 伴随着时间记录着网站的历史记录下网站现在的样子待那年今日那一年那个网站是那个样子项目地址https://github.com/yimogit/SiteHistory 技术栈
.NET Core:.NET Core 是.NET Framework的新一代版本具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework)。Selenium:一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中就像真正的用户在操作一样。结合phantomjs等驱动可以实现页面自动化。Github:一个面向开源及私有软件项目的托管平台因为只支持git 作为唯一的版本库格式进行托管故名GitHub,又名GayHubTravis CI:采用yaml格式配置简洁清新的开源持续集成构建项目。 我将其用来打包vue的纯工具站点metools,以及.net core程序(SiteHistory)啥还不会戳这里→→使用travis-ci自动部署github上的项目
项目构建思路
运行程序传入名称 网址 如dotnet run baidu https://www.baidu.com创建一个phanomjs无头浏览器: IWebDriver driver new PhantomJSDriver();在浏览器中打开传入网站:driver.Navigate().GoToUrl(sitePage);执行js使其滚动到底部触发懒加载等待网页图片加载js int waitTime10; var myScript var ymtimersetInterval(function(){ if (document.body.scrollHeight - 700 document.body.scrollTop){ window.scroll(0, document.body.scrollHeight) clearInterval(ymtimer); return; } window.scroll(0, document.body.scrollTop 700) } , waitTime * 1000 / 10 );; //10s中从头部滚动到底部 ((IJavaScriptExecutor)driver).ExecuteScript(myScript); //等待滚动完毕图片也差不多能加载完闭 System.Threading.Thread.Sleep(1200 * waitTime);开始截图:((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(baidu.com,ScreenshotImageFormat.Jpeg)拼接文本写入Readme.MD,Index.html关闭无头浏览器,程序结束driver.Quit()
项目文件预览 Program.cs加起来就一百多行代码完整Program.cs代码请戳这里 程序运行
下载phantomjs设置环境变量(Travis CI环境提供PhantomJS预装)安装.net core2.0 SDK执行命令dotnet run 参数1[名称] 参数2[网页链接] 参数3[图片格式] 参数4[等待时间] 参数5[保存目录] 参数6[可以执行一些js]dotnet run baidu https://www.baidu.com/ 保存[https://www.baidu.com]页面的截图名称为[baidu.jpg] dotnet run baidu https://www.baidu.com/ png 指定图片类型为png dotnet run baidu https://www.baidu.com/ jpg 20 加载完毕后等待20s后截图(图片加载或网站速度过慢) dotnet run baidu https://www.baidu.com/ jpg 10 download-test 下载的图片保存到download-test文件夹下 dotnet run baidu https://www.baidu.com/ jpg 10 download-test document.body.innerHTMLtest 加载完毕后执行一段js 使用Travis CI 时的 .travis.yml配置 若使用Travis CI 集成 要新增网站截图项则在travis.yml中script节点下添加命令即可 附Travis CI的环境变量配置图具体戳此文章 # 语言为scharp,系统为ubuntu14.04(代号trusty),.netcore 版本2.0
# Travis CI提供 phantomjs预装
language: csharp
dist: trusty
dotnet: 2.0.0# mono:latest Travis CI默认会安装mono测试发现若不安装mono,Travis CI会在程序截图时报错
# 打印组件版本
before_install:- dotnet --version- phantomjs --versionscript:- dotnet restore- dotnet run ip http://1212.ip138.com/ic.asp png - dotnet run acfun http://www.acfun.cn/ jpg 20- dotnet run bilibili https://www.bilibili.com jpg 20- dotnet run youtube https://www.youtube.com jpg 20- dotnet run google https://www.google.com# 将截图提交到 ${P_BRANCH} 分支中(gh-pages)
# export abcdate %Y%m%d 获取年月日
# 脚本将根据时间创建新分支 gh-pages_20170901并更新gh-pages分支
#
after_script:- cd download- git init- git config user.name ${U_NAME}- git config user.email ${U_EMAIL}- git add .- git commit -m add imgs- git remote add orginimgs https://${GH_TOKEN}${GH_REF}- export current_datedate %Y%m%d- echo current_date:$($current_date)- git push --force --quiet orginimgs master:gh-pages- git push --force --quiet orginimgs master:gh-pages_$($current_date)branches: only:- master
总结
测试发现IP地址每次都会发生变化,引发无限遐想~Linux下获取年月日字符串设置export current_datedate %Y%m%d输出echo current_date:$($current_date).net core使用Selenium需要引入Nuget包为CoreCompat.Selenium.WebDriver 配置中的变量按照此文章配置即可亲测搭配travis-ci食用最佳Fork之后前往travis-ci配置即可 参阅文章:使用travis-ci自动部署github上的项目欢迎分享值得记录的网站。 相关文章
dotnet使用Selenium执行自动化任务
原文地址http://www.cnblogs.com/morang/p/7455992.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88241.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!