Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Web Browser Controller ใน Python (โมดูล webbrowser)

โมดูล webbrowser ให้ High-level Interface เปิดเว็บ/เอกสารใน Browser เริ่มต้น รองรับ Cross-platform

import webbrowser


เมธอดหลัก

webbrowser.open(url, new=0, autoraise=True)

  • new=0 - เปิดใน Tab/Window เดียวกัน (Default)
  • new=1 - เปิด Window ใหม่
  • new=2 - เปิด Tab ใหม่
  • autoraise - ยก Window ขึ้นมาด้านหน้า

webbrowser.open_new(url)

เปิดใน Window ใหม่เสมอ (เทียบเท่า new=1)

webbrowser.open_new_tab(url)

เปิดใน Tab ใหม่เสมอ (เทียบเท่า new=2)

webbrowser.get([name])

คืน Controller Object สำหรับ Browser เฉพาะ

webbrowser.register(name, constructor, instance=None, *, preferred=False)

ลงทะเบียน Browser Type ใหม่


Browser Types ที่รองรับ Built-in

NameClassPlatform
'firefox'MozillaCross-platform
'chrome'ChromeCross-platform
'chromium'ChromiumLinux
'safari'MacOSXmacOS
'edge'EdgeWindows
'windows-default'WindowsDefaultWindows
'mozilla'MozillaUNIX
'lynx'GenericBrowserUNIX (Text-mode)

โค้ดตัวอย่าง

import webbrowser

# 1. เปิดด้วย Default Browser
webbrowser.open('https://www.tutorialspoint.com')

# 2. เปิด Tab ใหม่
webbrowser.open_new_tab('https://docs.python.org')

# 3. เลือก Browser เฉพาะ
browser = webbrowser.get('firefox')
browser.open('https://github.com')

# 4. ใช้ Controller Methods
browser.open_new('https://stackoverflow.com')

การใช้งานขั้นสูง

ลงทะเบียน Browser Custom

import webbrowser

# ลงทะเบียน Chrome ด้วย Path เฉพาะ
webbrowser.register('mychrome',
    None,
    webbrowser.BackgroundBrowser('/usr/bin/google-chrome-stable'))

webbrowser.get('mychrome').open('https://example.com')

เปิด Local File

import webbrowser, os
webbrowser.open('file://' + os.path.abspath('report.html'))

Exception Handling

import webbrowser

try:
    webbrowser.open('https://example.com')
except webbrowser.Error as e:
    print(f"Browser error: {e}")

กรณีใช้งานจริง

  • เปิด Documentation/Report หลัง Generate
  • OAuth Callback (เปิด Browser รับ Auth Code)
  • CLI Tool: --open-browser Flag
  • Automated Testing: เปิด URL ใน Headless Browser