Найти - Пользователи
Полная версия: PyQt5 QWebEngineView пример работы
Начало » GUI » PyQt5 QWebEngineView пример работы
1
ivan342
Подскажите как открыть web страницу и вставить какой-то текст в поле и потом нажать на кнопку? На pyqt4 это было проще, на pyqt5 не могу реализовать ни как.
delvin-fil
ivan342
На pyqt4 это было проще
Как вы реализовывали на pyqt4? Код покажите.
alex925
ivan342 вот простенький пример
 import sys
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWebEngineWidgets import QWebEngineView
 
 
class Browser(QWebEngineView):
    def __init__(self):
        super().__init__()
        self.loadFinished.connect(self._auth)
 
        self._timer = QtCore.QTimer()
        self._timer.timeout.connect(self._check_captcha)
 
    def _auth(self):
        page = self.page()
        page.runJavaScript(
            'document.querySelector("#index_email").value = "{}"'.format(
                '12345'
            )
        )
        page.runJavaScript(
            'document.querySelector("#index_pass").value = {}'.format('12345')
        )
        page.runJavaScript(
            'document.querySelector("#index_login_button").click()'
        )
 
        self._timer.start(1000)
 
    def _check_captcha(self):
        self._timer.stop()
        self.page().runJavaScript(
            ('document.querySelector("#box_layer > div.popup_box_container > '
             'div > div.box_title_wrap > div.box_title").innerHTML'),
            self._check_captcha_callback
        )
 
    def _check_captcha_callback(self, text):
        if text == 'Введите код с картинки':
            print('Нужно ввести капчу')
 
 
app = QtWidgets.QApplication(sys.argv)
b = Browser()
b.load(QtCore.QUrl('https://vk.com'))
b.show()
app.exec_()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB