用Python登錄好友QQ空間點贊
阿新 • • 發佈:2017-11-04
selenium 說了 bdr cnblogs bsp 按鈕 att 最大 log
記得之前跟我女票說過,說要幫她空間點贊,點到999就不點了。剛開始還能天天記得,但是後來事情一多,就難免會忘記,前兩天點贊的時候忽然覺得這樣好枯燥啊,正好也在學Python,就在想能不能有什麽方法能自動點贊。
以前學C借助win32API也幹過操作其他應用程序的事,想想可行性還是挺高的,於是就去百度了一下。發現還真有類似的,說幹就幹,正好也是周末,那就直接熬夜“擼”起來吧。先上代碼:
1 def QQZan(qq): 2 browser = webdriver.Chrome() 3 browser.maximize_window() 4 browser.get(‘https://user.qzone.qq.com/{}/main‘.format(qq)) 5 browser.switch_to_frame(‘login_frame‘) 6 #通過使用選擇器選擇到表單元素進行模擬輸入和點擊按鈕提交 7 browser.find_element_by_id(‘switcher_plogin‘).click() 8 browser.find_element_by_id(‘u‘).clear() 9 browser.find_element_by_id(‘u‘).send_keys(‘這裏填你的QQ賬號‘) 10 browser.find_element_by_id(‘p‘).clear() 11 browser.find_element_by_id(‘p‘).send_keys(‘這裏填你的QQ密碼‘) 12 browser.find_element_by_id(‘login_button‘).click() 13 time.sleep(3) 14 browser.find_element_by_xpath(‘//*[@id="like"]/a[1]‘).click() 15 browser.quit()
這裏定義了一個函數,輸入QQ號碼就可以直接登錄ta的空間去點贊了。我這裏是使用了Chrome瀏覽器去操作的,推薦大家使用Firefox。如果大家和我一樣是使用Chrome,需要下載一個與你selenium對應版本的chromedriver.exe,需要下載的可以去CSDN裏看看,一定要下載對應版本的。下載好之後將chromedriver.exe放到你Python的安裝目錄下面即可。
代碼很簡單,打開Chrome瀏覽器,最大化窗口,輸入想要訪問的空間,輸入賬號和密碼登錄,點擊點贊按鈕點贊,然後關閉瀏覽器。要註意的是,我這裏是精簡版,沒有加判斷沒有做異常處理,比如可能你打開網頁了,但是有些東西沒加載出來你就直接找到輸入,肯定找不到,最後也就不會成功,一般可以等待幾秒,或者判斷是否已經加載成功(用動態等待)。定位的方式有很多,這裏不多說了,網上講的很清楚了,自己先打開瀏覽器,將鼠標移到相應的位置,比如輸入框,點擊右鍵,打開檢查,如下圖:
通過這些基本可以定位,有些沒有這些Attribute的,還可以通過Xpath等定位,操作如下:在之前檢查找到的代碼那裏右鍵 ——>> Copy ——>> Copy Xpath(其他類似)
完整代碼如下:
1 def QQZan(qq): 2 browser = webdriver.Chrome() 3 browser.maximize_window() 4 browser.get(‘https://user.qzone.qq.com/{}/main‘.format(qq)) 5 browser.switch_to_frame(‘login_frame‘) 6 #通過使用選擇器選擇到表單元素進行模擬輸入和點擊按鈕提交 7 browser.find_element_by_id(‘switcher_plogin‘).click() 8 browser.find_element_by_id(‘u‘).clear() 9 browser.find_element_by_id(‘u‘).send_keys(‘這裏填寫你的QQ號碼‘) 10 browser.find_element_by_id(‘p‘).clear() 11 browser.find_element_by_id(‘p‘).send_keys(‘這裏填寫你的QQ密碼‘) 12 browser.find_element_by_id(‘login_button‘).click() 13 time.sleep(3) 14 browser.find_element_by_xpath(‘//*[@id="like"]/a[1]‘).click() 15 browser.quit() 16 QQZan(‘想要點贊的QQ號碼‘)
用Python登錄好友QQ空間點贊