Python使用Selenium时如何禁止终端用户输入URL并隐藏地址栏
Firefox锁定式终端禁用地址栏解决方案
方案1:使用Firefox Kiosk模式(最优解)
该模式是火狐官方为公共自助终端场景设计的原生运行模式,启动后直接进入全屏状态,永久隐藏地址栏、菜单栏、工具栏,鼠标悬停屏幕顶部也不会唤起导航栏,同时默认禁用F11切换全屏、Ctrl+L选中地址栏、Ctrl+T新建标签等操作,完全匹配锁定式终端的需求。
实现代码如下:
from selenium import webdriver from selenium.webdriver.firefox.options import Options options = Options() # 启用 kiosk 模式 options.add_argument("--kiosk") driver = webdriver.Firefox(options=options) driver.get("https://google.com/")
方案2:自定义Firefox配置项实现
如果需要保留部分自定义功能、不想使用全限制的kiosk模式,可以通过修改Firefox首选项实现地址栏隐藏和禁用唤起:
from selenium import webdriver from selenium.webdriver.firefox.options import Options options = Options() # 全屏模式下禁止导航栏自动唤起 options.set_preference("browser.fullscreen.autohide", False) # 禁止页面显示地址栏 options.set_preference("dom.disable_window_open_feature.location", True) # 禁用Alt键唤起顶部菜单 options.set_preference("ui.key.menuAccessKeyFocuses", False) # 启动后自动全屏 options.add_argument("--start-fullscreen") driver = webdriver.Firefox(options=options) driver.get("https://google.com/")
额外终端锁定优化配置
如果需要进一步提升终端安全性,可追加以下配置:
- 禁用页面右键菜单:
options.set_preference("dom.event.contextmenu.enabled", False) - 禁用ESC键退出全屏:
options.set_preference("browser.fullscreen.exit_on_escape", False) - 禁用开发者工具:
options.set_preference("devtools.enabled", False) - 禁止点击链接打开新标签/新窗口,所有跳转都在当前页面完成:
options.set_preference("browser.link.open_newwindow", 1) - 禁用鼠标中键点击打开新标签:
options.set_preference("browser.tabs.opentabfor.middleclick", False)
如果需要完全杜绝用户切出浏览器,还需要配合操作系统级的快捷键拦截,禁用Alt+Tab切窗口、Win/Command键唤起系统菜单等操作。
内容的提问来源于stack exchange,提问作者Angelo van Meurs
相关产品推荐
相关产品推荐

