Как заставить Recaptcha работать с QWebView - PullRequest
0 голосов
/ 06 мая 2018

Я пытаюсь заставить PyQt4 просматривать веб-страницу, для работы которой требуется капча, но он говорит, что браузер не поддерживается. Вот скриншот сообщения:

screenshot

Есть ли способ это исправить?

1 Ответ

0 голосов
/ 06 мая 2018

Мне удалось заставить это работать, изменив строку user-agent , чтобы включить один из поддерживаемых браузеров:

import sys
from PyQt4 import QtCore, QtGui, QtWebKit

class WebPage(QtWebKit.QWebPage):
    def userAgentForUrl(self, url):
        return super(WebPage, self).userAgentForUrl(url) + ' Chrome'

class Window(QtWebKit.QWebView):
    def __init__(self):
        super(Window, self).__init__()
        self.setPage(WebPage(self))
        self.load(QtCore.QUrl('https://www.google.com/recaptcha/api2/demo'))

if __name__ == '__main__':

    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.setGeometry(600, 100, 600, 900)
    window.show()
    sys.exit(app.exec_())
...