Форум сайта python.su
Ребята, очень нужна Ваша помощь! Третью неделю не могу победить, нигде нет ответа на мой вопрос…
Вот например код
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtWebKit import * app = QApplication(sys.argv) web = QWebView() web.load(QUrl("http://yandex.ru")) web.show() sys.exit(app.exec_())
#!/usr/bin/env python # -*- coding: utf-8 -*- from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys import time browser = webdriver.Firefox() # Get local session of firefox browser.get("http://www.yandex.ru") # Load page assert "Яндекс".decode("utf-8") in browser.title elem = browser.find_element_by_name("text") # Find the query box elem.send_keys("http://программисту.рф/".decode("utf-8") + Keys.RETURN) time.sleep(0.2) # Let the page load, will be added to the API
Офлайн
В Spynner все это есть, например sendText. Остальное тоже можно в исходниках подсмотреть.
А почему Spynner не подошел? Его же тоже видимым можно сделать.
#!/usr/bin/python import spynner import time browser = spynner.Browser(debug_level=spynner.INFO) browser.create_webview() browser.show() browser.load("http://www.yandex.ru") browser.load_jquery(True) browser.sendText("input[name=text]", "Python") browser.click("input[type=submit]", wait_load=True) time.sleep(10.0)
Офлайн
Я бы с удовольствием использовал Spynner, но проблема в том, что мне нужно не просто отобразить загрузку страницы и например ввод текста в строку поиска (или например авторизация), а после этого еще использовать браузер… Т.е. уже вручную кликать ссылки и т.д.
Пытался написать о своей проблеме разработчику Spynner, но я не достаточно владею Английским, т.е. я так и не смог объяснить ему что именно мне нужно…
Офлайн
SeganapaТак там это есть, почитайте исходники. Метод browse().
Я бы с удовольствием использовал Spynner, но проблема в том, что мне нужно не просто отобразить загрузку страницы и например ввод текста в строку поиска (или например авторизация), а после этого еще использовать браузер… Т.е. уже вручную кликать ссылки и т.д.
Пытался написать о своей проблеме разработчику Spynner, но я не достаточно владею Английским, т.е. я так и не смог объяснить ему что именно мне нужно…
#!/usr/bin/python import spynner import time from PyQt4 import QtWebKit class ClickableBrowser(spynner.Browser): def __init__(self, *args, **kwargs): super(ClickableBrowser, self).__init__(*args, **kwargs) self.webpage.setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks) self.webpage.linkClicked.connect(self._link_is_clicked) def _link_is_clicked(self, url): self.load(url) browser = ClickableBrowser(debug_level=spynner.INFO) browser.create_webview() browser.show() browser.load("http://www.yandex.ru") browser.load_jquery(True) browser.sendText("input[name=text]", "Python") browser.click("input[type=submit]", wait_load=True) browser.browse()
Отредактировано reclosedev (Окт. 22, 2012 21:51:45)
Офлайн
Spynner создает свой инстанс QApplication и нужно будет или создавать виджеты (если есть) только после браузера, или подменить spynner.SpynnerQapplication
Офлайн
SeganapaЯ же не знаю, что вы пишите. Будут конкретные проблемы, обращайтесь.Spynner создает свой инстанс QApplication и нужно будет или создавать виджеты (если есть) только после браузера, или подменить spynner.SpynnerQapplication
Пожалуйста, можно поподробнее. Это мое первое GUI приложение на python.
Офлайн
А flash с помощью Spynner можно запустить, если да, то как? Ввожу логин пароль идет загрузка страницы, но до конца не доходит, видимо Flash не подгружает.
Уважаемый reclosedev, есть ли вообще какой-нибудь способ встроить полноценный браузер, например Firefox, в окошко моей программы (PyQT4)?
Нашел вот еще средство:
Но он тоже запускает и открывает браузер встроенный в windows.
Пролистал учебник по PyQT, но ответа не нашел…
Офлайн
Seganapahttp://stackoverflow.com/questions/2996758/qwebkit-and-flash-player-why-its-not-working-in-windows
А flash с помощью Spynner можно запустить, если да, то как
SeganapaСомневаюсь.
есть ли вообще какой-нибудь способ встроить полноценный браузер, например Firefox, в окошко моей программы (PyQT4)?
Офлайн
Что-то не пойму куда нужно вставить
QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, True)
#!/usr/bin/python import spynner import time from PyQt4 import QtWebKit class ClickableBrowser(spynner.Browser): def __init__(self, *args, **kwargs): super(ClickableBrowser, self).__init__(*args, **kwargs) self.webpage.setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks) self.webpage.linkClicked.connect(self._link_is_clicked) def _link_is_clicked(self, url): self.load(url) browser = ClickableBrowser(debug_level=spynner.INFO) browser.create_webview() browser.show() browser.load("http://ru.grepolis.com") browser.load_jquery(True) browser.browse()
Офлайн
В начало программы:
settings = QtWebKit.QWebSettings.globalSettings() settings.setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True)
Офлайн