2014-12-16 8 views
-1

내 계정에서 나를 위해 약간의 사용자 데이터를 수집하는 스크립트를 작성했습니다. 나는 창문에서 그것을 실행하고 다 잘 작동합니다. 하지만 나는 리눅스에서 (gui없이) 실행할 수 없다.x11없이 Linux에서 spynner 스크립트를 실행합니다.

저는 pyqt4, spynner 및 필요한 모든 종속성을 설치했습니다. 문제는 다음과 같습니다.

개체에 findfirstelement 속성이 없습니다.

제가 알고 있듯이 qwebframe 객체는 브라우저에서 작동하지 않습니다. firefox와 chromiumbafter를 설치했지만 작동하지 않습니다. 브라우저를 먼저 설치 했습니까? 내가 X11에게

Xvfb가 운영하는 파이썬을하지 않은 나는이 평 ..., 스크립트 inxvfb를 실행

[UPD]

Traceback (most recent call last): 
    File "ebay_reports_retriver.py", line 392, in <module> 
    main() 
    File "ebay_reports_retriver.py", line 375, in main 
    downloadReportsFromPublishers.getReport() 
    File "ebay_reports_retriver.py", line 228, in getReport 
    downloadReportsFromPublishers.downloadReports(url,username,password, counter) 
    File "ebay_reports_retriver.py", line 183, in downloadReports 
    browser.wk_fill("input[type=text]", username) 
    File "/usr/lib/python2.6/site-packages/spynner/browser.py", line 1158, in wk_fill 
    element = self.webframe.findFirstElement(selector) 
AttributeError: 'QWebFrame' object has no attribute 'findFirstElement' 

rpm -qa | grep qt 
qt-4.6.2-28.el6_5.x86_64 
qt-sqlite-4.6.2-28.el6_5.x86_64 
qt-x11-4.6.2-28.el6_5.x86_64 
zlibrary-ui-qt-0.12.10-5.el6.x86_64 
qtwebkit-2.1.1-1.el6.x86_64 
qt-devel-4.6.2-28.el6_5.x86_64 
qt-mobility-1.1.3-2.el6.x86_64 

[UPD2]

Traceback (most recent call last): 
    File "ebay_reports_retriver.py", line 2, in <module> 
    import urllib , cookielib , spynner 
    File "/opt/python27/lib/python2.7/site-packages/spynner/__init__.py", line 2, in <module> 
    from .browser import * 
    File "/opt/python27/lib/python2.7/site-packages/spynner/browser.py", line 52, in <module> 
    from PyQt4 import QtCore 
ImportError: /opt/python27/lib/python2.7/site-packages/PyQt4/QtCore.so: undefined symbol: PyUnicodeUCS4_FromUnicode 
+0

Linux에서 Qt 및 PyQt의 어떤 버전을 사용하고 있습니까? – ekhumoro

+0

PyQt4. 내가 이해하는 것처럼, PyQt4는 Qt를 요구 사항으로 설치한다. – devalentino

+0

물론, 각 버전의 * 특정 * 버전이 설치되어 있습니까? 또한 얻은 전체 파이썬 추적을 게시하십시오. – ekhumoro

답변

1

findFirstElement 기능 QWebElement 클래스가 Qt-4.6에 도입되었습니다.

그러나 PyQt 버전은 항상 Qt 버전과 일치하지 않으므로 PyQt-4.6.2는 Qt-4.5 만 지원합니다. Qt-4.6을 지원하는 첫 번째 버전은 PyQt-4.7이며 QWebElement 클래스에 대한 지원을 추가합니다.

그래서 PyQt를 4.7 이상으로 업그레이드해야합니다.