Hallo,
Ich möchte gern mittels Python Webseiten betrachten - in einem grafisches Python-Fenster integriert!!. Gibt es da ein vorgefertigtes Objekt (ähnlich wie bei VB), das ein Browserfenster kreiert. Ich würde mir ja auch nur den Quelltext laden und in Textform ansehen, aber auf einigen Seiten von mir sind Javaskripte, die dynamisch Links erstellen. Und genau diese benötige ich
Und ich komme somit nur an diese Links, wenn ein graf. Browser den Javaskript-Code parst und dadurch die Links erstellt.
ICH BITTE UM HILFE!!! ((
Danke,
Spooky
Browser Objekt mit Python
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Spooky!spooky0815 hat geschrieben:Ich möchte gern mittels Python Webseiten betrachten - in einem grafisches Python-Fenster integriert!!
Ich habe keine TkInter-Lösung für dich. Nur den Hinweis auf ein Objekt unter wxPython, mit dem du den IE verwenden kannst.
wx.lib.iewin
Code: Alles auswählen
#----------------------------------------------------------------------
# Name: wx.lib.iewin
# Purpose: A class that allows the use of the IE web browser
# ActiveX control
#
# Author: Robin Dunn
#
# Created: 22-March-2004
# RCS-ID: $Id: iewin.py,v 1.2 2004/12/17 02:01:08 RD Exp $
# Copyright: (c) 2004 by Total Control Software
# Licence: wxWindows license
#----------------------------------------------------------------------
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 23
- Registriert: Montag 27. Februar 2006, 19:24
Danke...ich habe wxPython installiert und mir einige Beispielskripte kopiert...alle brechen mit der Meldung:
class MyFrame(wx.Frame):
attributeError: 'module' object has no attribute 'Frame'
ab :/
Irgendwas mach ich falsch
gibts nicht doch ne Möglichkeit mit dem guten, alten Tkinter??
VG,
Spooky
class MyFrame(wx.Frame):
attributeError: 'module' object has no attribute 'Frame'
ab :/
Irgendwas mach ich falsch
gibts nicht doch ne Möglichkeit mit dem guten, alten Tkinter??
VG,
Spooky
Du hast nicht zufällig irgendwo eine Datei Namens `wx.py` im Pfad liegen, oder?
Was ergibt denn ein ``print dir(wx)``?
Was ergibt denn ein ``print dir(wx)``?
-
- User
- Beiträge: 23
- Registriert: Montag 27. Februar 2006, 19:24
Hab den Fehler gefunden...
Nun wollte ich das Skript testen:
...leider kommt kein Fenster zum vorschein...nur der CPU-Load geht auf 100%.
Komischerweise ist das ein Standardbeispiel ... warum funktioniert das nicht??
Danke für jede Hilfe
Spooky
Edit by Gerold: Code in Code-Tags gesetzt. Beim nächsten Mal bitte selber machen.
Nun wollte ich das Skript testen:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import wx
import wx.html
class MyHtmlFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, -1, title, size=(600,400))
self.CreateStatusBar()
html = wx.html.HtmlWindow(self)
if "gtk2" in wx.PlatformInfo:
html.SetStandardFonts()
html.SetRelatedFrame(self, self.GetTitle() + " -- %s")
html.SetRelatedStatusBar(0)
html.LoadPage("http://wxwidgets.org/manuals/2.5.4/wx_wxbutton.html")
app = wx.PySimpleApp()
frm = MyHtmlFrame(None, "Simple HTML Browser")
frm.Show()
app.MainLoop()
Komischerweise ist das ein Standardbeispiel ... warum funktioniert das nicht??
Danke für jede Hilfe
Spooky
Edit by Gerold: Code in Code-Tags gesetzt. Beim nächsten Mal bitte selber machen.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Spooky!spooky0815 hat geschrieben:...leider kommt kein Fenster zum vorschein...nur der CPU-Load geht auf 100%.
LoadPage funktioniert bei mir auch nicht. Das dürfte ein Bug sein. Allerdings kannst du mit wx.html.HtmlWindow sowiso nichts anfangen. Dieses HtmlWindow kann nur **einfachen** HTML-Code darstellen. Es ist nicht dafür geeignet, komplexere HTML-Seiten mit CSS oder JavaScript zu betrachten.
Ich dachte eher an wx.lib.iewin. Diese Klasse integriert den Internet Explorer als Widget. Damit kannst du auch CSS und JavaScript.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 23
- Registriert: Montag 27. Februar 2006, 19:24
hast du zufällig einen groben Programmrahmen mit so einem objekt für mich
Da ich bis jetzt noch wx-Neuling bin, tue ich mich relativ schwer
Vielen Dank,
Spooky
Da ich bis jetzt noch wx-Neuling bin, tue ich mich relativ schwer
Vielen Dank,
Spooky
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Spooky!spooky0815 hat geschrieben:hast du zufällig einen groben Programmrahmen mit so einem objekt für mich
Kannst du haben
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import wx
from wx.lib import iewin
class IEBrowser(wx.Frame):
"""
Einfacher Browser, der den Internet Explorer verwendet.
"""
def __init__(
self, parent = None, id = -1, title = "IE-Browser", size = (800, 600)
):
"""
Initialisiert das Fenster
:param parent: Parent des Frames
:param id: ID des Frames
:param title: Frame-Titel
:param size: Größe des Fensters
"""
# Frame initialisieren
wx.Frame.__init__(self, parent, id, title = title, size = size)
# vbox
vbox = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(vbox)
# Statusbar
self.CreateStatusBar()
# Panel
panel = wx.Panel(self)
vbox.Add(panel, 0, wx.EXPAND)
# hbox
hbox = wx.BoxSizer(wx.HORIZONTAL)
panel.SetSizer(hbox)
# url-Control
self.tc_url = wx.TextCtrl(panel, -1, "http://gerold.bcom.at")
hbox.Add(self.tc_url, 1, wx.ALL, 5)
# Submit-Button
btn_submit = wx.Button(panel, -1, "Submit")
hbox.Add(btn_submit, 0, wx.ALL, 5)
btn_submit.Bind(wx.EVT_BUTTON, self.OnSubmit)
# IEHtmlWindow
self.ie = iewin.IEHtmlWindow(self)
vbox.Add(self.ie, 1, wx.EXPAND)
# Zentrieren und anzeigen
if parent:
self.CenterOnParent(parent)
else:
self.Center()
self.Show()
def OnSubmit(self, event):
"""
Event-Handler für den "Submit-Button"
"""
self.ie.LoadUrl(self.tc_url.GetValue())
def main():
"""
Hauptprozedur
"""
app = wx.PySimpleApp()
browser = IEBrowser()
app.MainLoop()
if __name__ == "__main__":
main()
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 23
- Registriert: Montag 27. Februar 2006, 19:24
Genial ... vielen Dank Gerold!!!!!!!
Spooky
Spooky