Уведомления

Группа в Telegram: @pythonsu

#1 Июль 8, 2017 15:51:01

ivan342
Зарегистрирован: 2016-02-28
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt5 QWebEngineView пример работы

Подскажите как открыть web страницу и вставить какой-то текст в поле и потом нажать на кнопку? На pyqt4 это было проще, на pyqt5 не могу реализовать ни как.

Отредактировано ivan342 (Июль 8, 2017 23:53:24)

Офлайн

#2 Июль 8, 2017 18:16:47

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

PyQt5 QWebEngineView пример работы

ivan342
На pyqt4 это было проще
Как вы реализовывали на pyqt4? Код покажите.



 import __hello__

Офлайн

#3 Июль 8, 2017 23:40:36

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

PyQt5 QWebEngineView пример работы

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_()

Отредактировано alex925 (Июль 8, 2017 23:41:03)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version