700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Selenium+PhantomJS QQ空间模拟登陆

Selenium+PhantomJS QQ空间模拟登陆

时间:2018-12-15 14:54:00

相关推荐

Selenium+PhantomJS QQ空间模拟登陆

QQ空间模拟登陆。。。

一般套路:浏览器监控切换到Network,然后输入账号密码,然后点击登录。。。但是加密啊那些很多 很多请求之类的 瞎搞。

太麻烦了。然而我们写代码的懂不起那些。

言归正传,C#控制台来开始:

必须先在Nuget里面引入两个库:

代码如下,简洁明了:

PhantomJSDriverService services = PhantomJSDriverService.CreateDefaultService();PhantomJSDriver driver = new PhantomJSDriver(services);driver.Navigate().GoToUrl("/");IWindow window = driver.Manage().Window;window.Maximize();Thread.Sleep(3000);Actions actions = new Actions(driver);IWebDriver login = driver.SwitchTo().Frame(driver.FindElementById("login_frame"));login.FindElement(By.Id("switcher_plogin")).Click();login.FindElement(By.Id("u")).SendKeys("账号");login.FindElement(By.Id("p")).SendKeys("密码");login.FindElement(By.Id("login_button")).Click();Thread.Sleep(5000);

解释一下代码的意思:

1-5行代码的意思就是创建一个没有界面的浏览器,然后线程休眠三秒钟,等待浏览器渲染。然后就是创建一个Actions,这里带了一个s,不是C#库里面的Action哈,切记哈!

然后就是切换到iframe,QQ空间里面的登录区域实际上是一个iframe嵌入在里面

找到这个iframe的ID,然后SwitchTo

然后找到这个Iframe里面的

模拟点击一下,就会显示输入账号和密码的输入框。

然后找到输入框和密码的ID,并且SendKeys账号和密码进去,然后就找到登录按钮,Click一下就好了,就进入主页了。

只要进去了,就能做的事情太多了。。。拿到Cookie ,各种点赞什么的,各种自动发说说啊,

切记:必须先在Nuget里面引入那两个库

谢谢你的阅读,希望能帮到你

有问题的大兄弟们,欢迎加群:80669150(.Net) 一起交流学习进步,进群备注(博客园)

如果你想请我喝瓶水,就微信扫一下,哈哈。我是成都林夕 再会。。。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。