2014-12-16 3 views
-1

Я написал скрипт, который собирает некоторые полезные для меня данные из моих учетных записей. Я запускаю его на окнах, и все работает нормально. Но я не могу запустить его на linux (без gui).работает скрипт spynner на linux без x11

Я установил pyqt4, spynner и все необходимые зависимости. Проблема заключается в следующем:

объект не имеет атрибута findfirstelement.

Как я понимаю, объект qwebframe не может работать с браузером. Я установил firefox и chromiumbafter, но это не работает. Если я установил браузер первым? Я бегу сценарий inxvfb, так как я не x11

Xvfb перспективе питона ... пй

[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

Какую версию Qt и PyQt вы используете в Linux? – ekhumoro

+0

PyQt4. Насколько я понимаю, PyQt4 устанавливает Qt как reqirement. – devalentino

+0

Конечно, но какие * конкретные версии каждой из них вы установили? Также, пожалуйста, отправьте полную трассировку Python, которую вы получите. – 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 или выше.

Смежные вопросы