2012-12-08 40 views
0

這是我的情況: 我創建了一個QWebview,加載了一個Youtube頁面,並登錄了。 我選擇了上傳選項(http://www.youtube.com/my_videos_upload)並選擇 一個視頻上傳。但是,youtube總是返回QWebview:上傳到Youtube返回錯誤

「服務器已返回無效響應,請按照以下步驟嘗試再次上傳文件。」

我該如何解決這個問題? 謝謝。

編輯:我正在使用的代碼是:

import sys 
from PyQt4.QtCore import QUrl 
from PyQt4.QtGui import QApplication 
from PyQt4.QtWebKit import QWebView 
from PyQt4.QtNetwork import QNetworkAccessManager 
from PyQt4 import QtCore 

def fillForm(web, username, password): 
    print "Filling in the form" 
    doc = web.page().mainFrame().documentElement() 

    print "Finding username tag" 
    user = doc.findFirst("input[id=Email]") 
    print "Finding passwd tag" 
    passwd = doc.findFirst("input[id=Passwd]")  

    print "Setting information" 
    user.evaluateJavaScript("this.value = '%s'" % username) 
    passwd.evaluateJavaScript("this.value = '%s'" % password)  
    button = doc.findFirst("input[id=signIn]") 
    button.evaluateJavaScript("this.click()") 

def doLogin(web, url, username, password):   
    web.loadFinished.connect(lambda: fillForm(web, username, password)) 
    web.load(url) 
    web.show() 

if __name__ == "__main__": 
    app = QApplication(sys.argv) 
    nam = QNetworkAccessManager() 
    web = QWebView() 
    web.page().setNetworkAccessManager(nam) 
    url = QUrl(r"https://accounts.google.com/Login") 
    username = "name" 
    password = "pass" 
    doLogin(web, url, username, password) 
    app.exec_() 
+0

你可以發佈你正在使用的代碼? – 2012-12-08 14:09:29

+0

@ X.Jacobs:我使用以下代碼片段: – user1865009

+0

在這裏看不到任何內容,請嘗試修改您的帖子 – 2012-12-08 14:18:03

回答

0

嘗試web = QWebView()後添加此:

settings = web.settings() 
settings.setAttribute(QWebSettings.PluginsEnabled, True) 
+0

你可能會添加'從PyQt4.QtWebKit導入QWebView,QWebSettings' – 2012-12-08 14:32:12

+0

我剛剛嘗試過,但錯誤仍然存​​在。 – user1865009

+0

可能是QWebview的問題? Google表示我們應該使用'現代'瀏覽器:https://support.google.com/youtube/bin/answer.py?hl=zh-CN&answer=166815 & hl = zh-CN – user1865009