photoshop网站视觉设计步骤,茂民网站建设,做网站的系统,html网站运行时间代码如果要做百度文库#xff0c;百度贴吧#xff0c;百度知道签到#xff0c;你#xff0c;会怎么做#xff1f;前不久我还会觉得这好像太麻烦了#xff0c;now,soeasy。 自动化测试工具#xff1a;Selenium Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行… 如果要做百度文库百度贴吧百度知道签到你会怎么做前不久我还会觉得这好像太麻烦了now,soeasy。 自动化测试工具Selenium Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中就像真正的用户在操作一样。支持的浏览器包括 ,Chrome,Firefox,IE,PhantomJS(一个基于webkit内核的无界面浏览器)等。 Selenium项目地址https://github.com/SeleniumHQ/seleniumSelenium文档地址http://seleniumhq.github.io/selenium/docs/api/dotnet/
在.net framework下Selenium的使用
新建解决方案控制台项目添加NuGet包Selenium.WebDriver 3.5.1 Selenium.Support 3.5.1通过NuGet下载Phantomjs或者手动下载驱动设置环境变量Selenium.PhantomJS.WebDriver //无头浏览器 无界面Selenium.Chrome.WebDriver //需要下载浏览器 运行时会打开浏览器Selenium.Firefox.WebDriver //需要下载浏览器 简单使用示例
使用PhantomJS驱动保存百度首页截图 var driver new PhantomJSDriver();//创建浏览器driver.Navigate().GoToUrl(http://www.baidu.com);//打开百度//截图保存Screenshot screenshot ((ITakesScreenshot)driver).GetScreenshot();screenshot.SaveAsFile(baidu.jpg, ScreenshotImageFormat.Jpeg); //退出driver.Quit();
点击百度搜索然后截图 var driver new PhantomJSDriver();//创建浏览器driver.Navigate().GoToUrl(http://www.baidu.com);//打开百度driver.FindElement(By.Id(kw)).SendKeys(Selenium);driver.FindElement(By.Id(su)).Click();Thread.Sleep(3000);//搜索结果显示出来再接图//截图保存Screenshot screenshot ((ITakesScreenshot)driver).GetScreenshot();screenshot.SaveAsFile(baidu.jpg, ScreenshotImageFormat.Jpeg); //退出driver.Quit();
登录博客园发个闪存
源码地址https://coding.net/u/yimocoding/p/WeDemo/git/tree/SeleniumDemo/SeleniumDemo
百度文库百度贴吧百度知道签到 要是用模拟请求的方式得累死个人。 static void 百度签到(){ dynamic loginUser new{UserName yimo,UserPwd 123456}; var myDriver new PhantomJSDriver();//创建浏览器var defTask new Liststring() { 文库, 贴吧, 知道 }; const string _loginUrl https://passport.baidu.com/v2/?login; //跳转页面myDriver.Navigate().GoToUrl(_loginUrl);myDriver.FindElement(By.Id(TANGRAM__PSP_3__userName)).SendKeys(loginUser.UserName);myDriver.FindElement(By.Id(TANGRAM__PSP_3__password)).SendKeys(loginUser.UserPwd);myDriver.FindElement(By.Id(TANGRAM__PSP_3__submit)).Click();Console.WriteLine(myDriver.Title); if (defTask.Contains(文库)){ const string _wkSignUrl https://wenku.baidu.com/task/browse/daily;Console.WriteLine($开始百度文库签到);myDriver.Navigate().GoToUrl(_wkSignUrl);myDriver.ExecScript($(.bg).remove();$(.g-btn-pass).click(););Console.WriteLine(百度文库签到完成);Thread.Sleep(1000);myDriver.SaveImg(文库签到.png);} if (defTask.Contains(贴吧)){ const string _tiebaUrl https://tieba.baidu.com/index.html;Console.WriteLine(开始百度贴吧签到);myDriver.Navigate().GoToUrl(_tiebaUrl);myDriver.FindElement(By.ClassName(onekey_btn)).Click();myDriver.FindElement(By.ClassName(sign_btn_nonmember)).Click();Console.WriteLine(百度贴吧签到完成);Thread.Sleep(1000);myDriver.SaveImg(贴吧签到.png);} if (defTask.Contains(知道)){ const string _tiebaUrl https://zhidao.baidu.com/;Console.WriteLine(开始百度知道签到);myDriver.Navigate().GoToUrl(_tiebaUrl);myDriver.FindElement(By.ClassName(go-sign-in)).Click();myDriver.FindElement(By.ClassName(sign-in-btn)).Click();Console.WriteLine(百度知道签到完成);Thread.Sleep(1000);myDriver.SaveImg(知道签到.png);} //退出myDriver.Quit();}
淘宝领取淘金币 static void 淘金币领取(){ dynamic loginUser new{UserName yimo,UserPwd 123456}; var myDriver new PhantomJSDriver();//创建浏览器const string _loginUrl https://login.taobao.com/member/login.jhtml; const string _taoUrl https://taojinbi.taobao.com/index.htm; //跳转页面myDriver.Navigate().GoToUrl(_loginUrl); //账号登录myDriver.FindElement(By.Id(J_Quick2Static)).Click();myDriver.FindElement(By.Id(TPL_username_1)).SendKeys(loginUser.UserName); myDriver.FindElement(By.Id(TPL_password_1)).SendKeys(loginUser.UserPwd);myDriver.FindElement(By.Id(J_SubmitStatic)).Click();myDriver.Navigate().GoToUrl(_taoUrl);myDriver.FindElement(By.ClassName(J_GoTodayBtn)).Click(); //滑动验证码Actions action new Actions(driver); var source driver.FindElement(By.ClassName(btn_slide)); if (source null){ return;}action.ClickAndHold(source).MoveByOffset(300,0);action.MoveToElement(source).Release();IAction actions action.Build();actions.Perform();}
CtrlF5截图保存成功
常用接口
var drivernew PhantomJSDriver();//驱动实例
INavigation接口 浏览器导航接口(前进后退刷新)接口实例driver.Navigate()IOptions接口 浏览器信息接口(Cookie,设置窗口等操作)接口实例driver.Manage()IWebElement 通过driver.FindElement()筛选获取到元素信息(Text等)可以对元素赋值(SendKeys())单击(Click())等操作
常用操作
窗口最大化driver.Manage().Window.Maximize();Cookie操作接口获取driver.Manage().Cookies执行js:((IJavaScriptExecutor)driver).ExecuteScript(document.body.innerHTMLSelenium);截图((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(保存路径.png, ScreenshotImageFormat.Png);拖动文章介绍参考 var driver new PhantomJSDriver();By byBy.ClassName(btn_slide); int x300,y0Actions action new Actions(driver); var source driver.FindElement(by); if (source null){ return;}action.ClickAndHold(source).MoveByOffset(x, y);action.MoveToElement(source).Release();IAction actions action.Build();actions.Perform();
立个flag
下一篇SeleniumNetCoreDemotravis-ciGithubDemo下载https://coding.net/u/yimocoding/p/WeDemo/git/tree/SeleniumDemoclone命令git clone https://git.coding.net/yimocoding/WeDemo.git -b SeleniumDemo
原文地址http://www.cnblogs.com/morang/p/7441091.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注