C# 13行代碼帶你模擬登錄QQ空間


最近想做一個QQ空間點贊的小工具,於是晚上下班回來就開始分析PC版的QQ空間,打開Chrome,切換到Network,然后輸入賬號密碼,然后點擊登錄。。。

然后,我曹。。。。一堆請求就開始了。。。。搞了半天,還要去分析登錄的加密方法。。。。太麻煩了。。。

然而我們寫代碼的懂不起那些。。。

 

於是就果斷掏出的大殺器Selenium+PhantomJS

說了這么多要不要直接上代碼啊???

好吧,直接上代碼

        PhantomJSDriverService services = PhantomJSDriverService.CreateDefaultService();
            PhantomJSDriver driver = new PhantomJSDriver(services);
            driver.Navigate().GoToUrl("https://qzone.qq.com/");
            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里面引入兩個庫

 

謝謝你的閱讀,希望能幫到你

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM