尝试验证并连接到SharePoin时,PyQt4出现问题

2024-06-24 12:50:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我会分步写下我想做的事。如果英语不是我的母语,那就更好了。在

  1. 对SharePoint进行身份验证

  2. 转到http://cdc-rnd-sps34.dev.local/Lists/SC_Incidents/Open.aspx

  3. 执行JavaScript

  4. 使用执行的JavaScript获取HTML

现在我得到了这个错误:

我不是开发人员,我是一个QA人员,我试图做一些自动化,所以我不是很擅长编程。在我使用身份验证的其他情况下,它工作得很好。所以在类呈现的问题,我不明白它是如何完全工作的,我只是复制粘贴它。我只是不知道如何使用经过身份验证的url地址将其放入getHtml()函数中。在

代码:

import urllib2
import sys
from ntlm import HTTPNtlmAuthHandler
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *

user = "dev\\ani"
password = "pass"

adress = "http://cdc-rnd-sps34.dev.local/Lists/SC_Incidents/Open.aspx"

class Render(QWebPage):
    def __init__(self, url):

        passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
        passman.add_password(None, QWebPage, user, password)
        auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
        opener = urllib2.build_opener(auth_NTLM)
        opener.addheaders = [("X-FORMS_BASED_AUTH_ACCEPTED", "f")]
        urllib2.install_opener(opener)

        self.app = QApplication(sys.argv)
        QWebPage.__init__(self)
        self.loadFinished.connect(self._loadFinished)
        self.mainFrame().load(QUrl(url))
        self.app.exec_()

    def _loadFinished(self, result):
        self.frame = self.mainFrame()
        self.app.quit()

def getHtml(str_url):
    r_html = Render(str_url)
    html = r_html.frame.toHtml()

    return html

html = getHtml(adress)
print html

Tags: fromdevimportself身份验证urldefhtml