python登錄qq
Ⅰ 如何用python+selenium登錄QQ音樂
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
def login_qq(user,password):
'''
1、有2個frame要先進頂層的才能賣困進入下層
2、考慮有無登錄qq的情況
'''
driver=webdriver.Chrome()
driver.get('https://y.qq.com/')
driver.refresh()
time.sleep(1)
login= driver.find_element_by_css_selector('body > div.mod_header > div > div.header__opt > span > a.top_login__link.js_login')
login.click()
time.sleep(1)
#1
topframe=driver.find_element_by_id("frame_tips"枝乎)
driver.switch_to_frame(topframe)
#1
iframe=driver.find_element_by_id("ptlogin_iframe")
driver.switch_to_frame(iframe)
time.sleep(1)
#2
try:
userpassword=driver.find_element_by_id("switcher_plogin")
userpassword.click()
time.sleep(1)
user=driver.find_element_by_id("u")
user.send_keys(user)
password=driver.find_element_by_id("p")
password.send_keys(password)
sure=driver.find_element_by_id("login_button")
sure.click()
#2
except:
user=driver.find_element_by_id("u")
user.send_keys(user)
password=driver.find_element_by_id("猛配悉p")
password.send_keys(password)
sure=driver.find_element_by_id("login_button")
sure.click()
Ⅱ python怎麼設置button按鈕
生活中我們會遇到各種各樣的登錄界面,比如在登陸QQ時將賬號和密碼輸入完備後,需要點擊「登錄」才能進入到自己的QQ頁面。在Python中,這里的「登錄」就是用Button組件製作的一個按鈕。
導入tkinter模塊
from tkinter import*
定義函數,用於在shell頁面回答按鈕上面的問題
def answer(): print("你看我像靚仔嗎?")
創建根窗口
root=Tk()
創建Button組件
button=Button(root,text="你是靚仔嗎",command=answer)#創建變數用於存放Button以及Button中的參數,root為根窗口,text為按鈕上的文本內容,command=answer的作用是將按鈕與函數綁定在一起
在根窗口中展示Button組件
button.pack()
讓根窗口持續展示
root.mainloop()
完整代碼
from tkinter import*def answer(): print("你看我像靚仔嗎?")root=Tk()button=Button(root,text="你是靚仔嗎",command=answer)button.pack()root.mainloop()
成果展示
使用Python中的Button組件製作按鈕,就分享到這里!
Ⅲ python能盜qq嗎
單從技術說是可以的,但盜取別人的QQ是不道德的,也是非法的。建議你最好打消這種想法。
Ⅳ python qq群機器人怎麼弄
網路 小智機器人 然後進貼吧可以買到也可以免費
Ⅳ 怎麼用python對qq登錄界面寫測試腳本
1. 用Python封裝被測試介面,對於HTTP介面我們通常會採用 GET和POST 2種調用方式去訪問,所以必須把這2種方式都封裝進去
# -*- coding:gb2312 -*-
import urllib2,urllib
'''
函數說明:url 特殊字元編碼轉換
作者:xiaonan
輸入參數:待轉換的字元串數據
輸出參數:轉換完成後的字元串數據
'''
def urlcode(data):
return urllib2.quote(str(data))
'''
函數說明:獲取用戶信息的API介面
作者:xiaonan
輸入參數:用戶名(uname),HTTP介面調用方式(GET或者POST)
輸出參數:HTTP介面調用返回數據
'''
def GetUserInfo(uname,method):
if method == 'GET':
url = 'http://ip:port/interface/GetUserInfo.php?uname='+urlcode(uname)
result = urllib2.urlopen(url).read()
return result
if method == 'POST':
url = 'http://ip:port/interface/GetUserInfo.php'
values = {'uname' : uname}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
result = response.read()
return result
2. 編寫、組織測試腳本, 准備測試數據
根據Testcase的具體業務邏輯用事先准備好的測試數據去調用封裝好的API介面,驗證實際返回結果是否與預期返回結果一致.
測試數據可以以各種形式存放,如Excel數據表:
TestCaseName uname method Expected Result
TestCase1 aaaa GET ....
TestCase2 aaaa POST ....
TestCase3 bbbb GET ....
... ... ... ....
# -*- coding:gb2312 -*-
import xlrd
'''
函數說明: Testcase 腳本
作者:xiaonan
輸入參數:測試數據,API介面
輸出參數:測試日誌,測試報告
'''
def GetUser():
bk = xlrd.open_workbook(excel文件名稱) # 打開excel文件
sh = bk.sheet_by_name(excel表名)# 打開excel表
nrows = sh.nrows # 獲取總行數
for i in range(1,nrows):
TestCase = sh.cell_value(i,0)
uname = sh.cell_value(i,1)
method = sh.cell_value(i,2)
EX_Result=sh.cell_value(i,3)
WriterLog('Testcase Name:'+TestCase+'TestData: uname = '+uname+' ,method = '+method+' ,EX_Result = ' + ,EX_Result) # 寫測試日誌
AC_result = GetUserInfo(uname,method) # 調用API介面
WriterLog('AC_result = ' + AC_result) # 寫測試日誌
if EX_Result == AC_result: #實際結果與預期結果對比
WriterLog(...) #寫測試日誌
WriterReport(...)#寫測試報告
else
WriterLog(...)#寫測試日誌
WriterReport(...)#寫測試報告
3. 組織測試套,用驅動文件去調用執行所有測試套件,完成相關測試,並生成測試日誌及測試報告.
# -*- coding:gb2312 -*-
'''
函數說明: Testsuit Driver驅動腳本
作者:xiaonan
輸入參數:TestCase 腳本
輸出參數:測試日誌,測試報告
'''
if __name__ == '__main__':
...
WriterLog() #寫測試日誌
GetUser() # TestCase 腳本
...
...
Report(....) # 統計匯總所有測試報告數據,以文件或頁面形式呈現.
4. 執行測試腳本,分析測試結果. 根據測試報告,如果有Bug則提交.
Ⅵ python爬蟲做qq機器人的問題
我覺得是可能是因為沒帶cookie造成的吧?順便說一下,ptqrtoken是「cookie裡面的qrsig的hash33」,代碼在github的justko/qzonelib,雖然寫的不好,給我加個星星吧:-)
defcheck_qrcode(self):
qrsig=None
foriinself.qq_cookie:
ifi.name=='qrsig':
qrsig=i.value
break
ifqrsigisNone:
print("QR_Code識別碼沒有找到,需要重新下載")
raiseRuntimeError
req=urllib.request.Request(
url="https://ssl.ptlogin2.qq.com/ptqrlogin"
"?u1=https%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone"
"&ptqrtoken="+str(QQ.__hash33(qrsig))+
"&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052"
"&action=0-0-1509338784922"
"&js_ver=10231&js_type=1&login_sig=&pt_uistyle=40&aid=549000912&daid=5&"
)
res=self.opener.open(req).read().decode()
result=re.match("ptuiCB('([^']*)','[^']*','([^']*)','[^']*','([^']*)','(.*)')",res)
code=result.group(1)
success_url=result.group(2)
info=result.group(3)
username=result.group(4)
returncode,success_url,info,usernamedefcheck_qrcode(self):