如何使用python在Web浏览器中打开选项卡

铁螳螂7x

我正在用 python 开发一个网络浏览器,我想向它添加标签。我不知道该怎么做。

我当前的浏览器选项卡功能代码是这样的:

#!/usr/bin/env python
import gtk, webkit
import webbrowser

#WOW
class visionbrowser():

    def __init__(self):
        # Create window
        self.much_window = gtk.Window()
        #self.much_window.set_icon_from_file('mAILogo3p.png')
        self.much_window.connect('destroy', lambda w: gtk.main_quit())
        self.much_window.set_default_size(1600, 1200)

        # Create navigation bar
        self.so_navigation = gtk.HBox()

        self.many_back = gtk.ToolButton(gtk.STOCK_GO_BACK)
        self.such_forward = gtk.ToolButton(gtk.STOCK_GO_FORWARD)
        self.very_refresh = gtk.ToolButton(gtk.STOCK_REFRESH)
        self.wow_address_bar = gtk.Entry()
        self.new_tab = gtk.Button()

        self.many_back.connect('clicked', self.go_back)
        self.such_forward.connect('clicked', self.go_forward)
        self.very_refresh.connect('clicked', self.refresh_page)
        self.wow_address_bar.connect('activate', self.load_page)
        self.new_tab.connect('clicked', self.tab_new)

        self.so_navigation.pack_start(self.many_back, False)
        self.so_navigation.pack_start(self.such_forward, False)
        self.so_navigation.pack_start(self.very_refresh, False)
        self.so_navigation.pack_start(self.wow_address_bar)
        self.so_navigation.pack_start(self.new_tab)

        # Create view for webpage
        self.very_view = gtk.ScrolledWindow()
        self.such_webview = webkit.WebView()
        self.such_webview.open('http://google.com')
        self.such_webview.connect('title-changed', self.change_title)
        self.such_webview.connect('load-committed', self.change_url)
        self.very_view.add(self.such_webview)

        # Add everything and initialize
        self.wow_container = gtk.VBox()
        self.wow_container.pack_start(self.so_navigation, False)
        self.wow_container.pack_start(self.very_view)

        self.much_window.add(self.wow_container)
        self.much_window.show_all()
        gtk.main()

    def load_page(self, widget):
        so_add = self.wow_address_bar.get_text()
        if so_add.startswith('http://') or so_add.startswith('https://'):
            self.such_webview.open(so_add)
        else:
            so_add = 'http://' + so_add
            self.wow_address_bar.set_text(so_add)
            self.such_webview.open(so_add)

    def tab_new(self, widget):
        self.open_new_tab()

    def change_title(self, widget, frame, title):
        self.much_window.set_title('[Vision Browser by Maverick A.I.] -->> ' + title)

    def change_url(self, widget, frame):
        uri = frame.get_uri()
        self.wow_address_bar.set_text(uri)

    def go_back(self, widget):
        self.such_webview.go_back()

    def go_forward(self, widget):
        self.such_webview.go_forward()

    def refresh_page(self, widget):
        self.such_webview.reload()

wow = visionbrowser()

浏览器可以正常工作并打开,我可以打开网页,一切都很好。但是,当我单击我的选项卡按钮添加新选项卡时,出现 tghis 错误:

self.open_new_tab()
AttributeError: visionbrowser instance has no attribute 'open_new_tab'

有没有办法使用 gtk 或 python webbrowser 打开选项卡?如果是这样 - 在我上面的代码中实现它的最佳和最正确的方法是什么

注意:我试过 python webbrowser (import webbrowser),它只是抛出一个错误,说 open_tab 现在是一个可识别的 gtk 命令。

谢谢。

萨西姆

首先,您的 visionbrowser 类没有 open_new_tab 方法。其次,您使用了错误的方法。

webbrowser.open_new_tab("https://docs.python.org/2/library/webbrowser.html")

或者

 webbrowser.open_new("https://docs.python.org/2/library/webbrowser.html")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

像真实浏览器一样使用phantomjs打开选项卡

来自分类Dev

如何使用ODS HTML命令更改Web浏览器选项卡中的“ SAS输出”?

来自分类Dev

基于TFS 2012的报告和设置在单独的浏览器窗口中打开,而不是在VS 2012 IDE中打开选项卡

来自分类Dev

我如何从Origin选项卡获取新打开的浏览器选项卡名称?

来自分类Dev

在AngularJS中,如何使用ng-click在iPad浏览器的新选项卡中打开下载pdf

来自分类Dev

Unite.vim-如何从文件浏览器中的选项卡中打开文件

来自分类Dev

如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

来自分类Dev

Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

来自分类Dev

如何知道浏览器选项卡是否已使用Javascript打开?

来自分类Dev

无法使用 Selenium Webdriver 在浏览器中打开新选项卡

来自分类Dev

在Python中使用Webbrowser模块打开选项卡

来自分类Dev

在Python中使用Webbrowser模块打开选项卡

来自分类Dev

使用cmd在Internet Explorer中打开选项卡

来自分类Dev

如何在Flutter Web应用程序中重新加载浏览器选项卡

来自分类Dev

如何使用浏览器刷新中的选项卡维护页面状态

来自分类Dev

Xpages链接打开“新浏览器”选项卡

来自分类Dev

在新的浏览器选项卡中重新打开页面时,如何重置会话范围的Bean

来自分类Dev

如何设置注册表单电子邮件链接以在原始浏览器选项卡中打开链接?

来自分类Dev

如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

来自分类Dev

使用javascript在IE浏览器的新选项卡中打开URL的最佳方法是什么?

来自分类Dev

用户单击关闭选项卡时如何打开新窗口浏览器?

来自分类Dev

如何阻止自定义书签打开多个浏览器选项卡

来自分类Dev

在新的浏览器选项卡中打开ResponseEntity PDF

来自分类Dev

Zkoss-在浏览器的新选项卡中打开URL

来自分类Dev

在Azure Portal中打开新的浏览器选项卡时出现403错误

来自分类Dev

通过单击Java脚本中的按钮来打开新的浏览器选项卡

来自分类Dev

在浏览器的单独选项卡中打开用户控件

来自分类Dev

Ubuntu中Chromium浏览器打开的选项卡的URL的位置

来自分类Dev

单击HTML按钮时,在新的浏览器选项卡中打开URL

Related 相关文章

  1. 1

    像真实浏览器一样使用phantomjs打开选项卡

  2. 2

    如何使用ODS HTML命令更改Web浏览器选项卡中的“ SAS输出”?

  3. 3

    基于TFS 2012的报告和设置在单独的浏览器窗口中打开,而不是在VS 2012 IDE中打开选项卡

  4. 4

    我如何从Origin选项卡获取新打开的浏览器选项卡名称?

  5. 5

    在AngularJS中,如何使用ng-click在iPad浏览器的新选项卡中打开下载pdf

  6. 6

    Unite.vim-如何从文件浏览器中的选项卡中打开文件

  7. 7

    如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

  8. 8

    Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

  9. 9

    如何知道浏览器选项卡是否已使用Javascript打开?

  10. 10

    无法使用 Selenium Webdriver 在浏览器中打开新选项卡

  11. 11

    在Python中使用Webbrowser模块打开选项卡

  12. 12

    在Python中使用Webbrowser模块打开选项卡

  13. 13

    使用cmd在Internet Explorer中打开选项卡

  14. 14

    如何在Flutter Web应用程序中重新加载浏览器选项卡

  15. 15

    如何使用浏览器刷新中的选项卡维护页面状态

  16. 16

    Xpages链接打开“新浏览器”选项卡

  17. 17

    在新的浏览器选项卡中重新打开页面时,如何重置会话范围的Bean

  18. 18

    如何设置注册表单电子邮件链接以在原始浏览器选项卡中打开链接?

  19. 19

    如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

  20. 20

    使用javascript在IE浏览器的新选项卡中打开URL的最佳方法是什么?

  21. 21

    用户单击关闭选项卡时如何打开新窗口浏览器?

  22. 22

    如何阻止自定义书签打开多个浏览器选项卡

  23. 23

    在新的浏览器选项卡中打开ResponseEntity PDF

  24. 24

    Zkoss-在浏览器的新选项卡中打开URL

  25. 25

    在Azure Portal中打开新的浏览器选项卡时出现403错误

  26. 26

    通过单击Java脚本中的按钮来打开新的浏览器选项卡

  27. 27

    在浏览器的单独选项卡中打开用户控件

  28. 28

    Ubuntu中Chromium浏览器打开的选项卡的URL的位置

  29. 29

    单击HTML按钮时,在新的浏览器选项卡中打开URL

热门标签

归档