โมดูล 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
| Name | Class | Platform |
|---|---|---|
'firefox' | Mozilla | Cross-platform |
'chrome' | Chrome | Cross-platform |
'chromium' | Chromium | Linux |
'safari' | MacOSX | macOS |
'edge' | Edge | Windows |
'windows-default' | WindowsDefault | Windows |
'mozilla' | Mozilla | UNIX |
'lynx' | GenericBrowser | UNIX (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-browserFlag - Automated Testing: เปิด URL ใน Headless Browser