PyQt4问题,同时尝试进行身份验证并连接到SharePoint

时间:2015-01-20 14:35:10

标签: python python-2.7 sharepoint sharepoint-2013

我会按步骤写下我想做的事情。如果英语不是我的母语,那就更好理解了。

  1. 向SharePoint进行身份验证

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

  3. 执行JavaScript

  4. 使用已执行的JavaScript获取HTML

  5. 现在我收到了这个错误:

    TypeError:' PyQt4.QtCore.pyqtWrapperType'对象不可迭代

    我不是开发人员,我是QA人并尝试做一些自动化,所以我不是很擅长编程。在我使用它的其他情况下,身份验证工作正常。所以类Render中的问题,我不明白它是如何完全工作的,我只是复制粘贴它。我只是不知道如何使用经过身份验证的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
    

0 个答案:

没有答案