You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ChromeDriver控制的Chrome无法触发beforeunload弹窗问题求助

ChromeDriver控制的Chrome无法触发beforeunload弹窗问题求助

我最近做了一个测试,用下面的HTML实现了一个功能:当用户填写表单但还没提交就切换页面时,会弹出beforeunload提示框。

<!DOCTYPE html>
<html>

<body>
    <div class="container">
        <form action="#">
            <label>First Name</label>
            <input type="text" id="fname" name="firstname" onchange="updateFname()">
            <button class="submit-btn" onclick="return false;">
                Submit
            </button>
        </form>
    </div>
    <script type="text/javascript">
        let fname = '';
        updateFname = () => {
            fname = document
                .getElementById('fname').value;
        }
        window.addEventListener('beforeunload',
            function (e) {
                if (fname !== '') {
                    console.log("form is filled but not submitted yet");
                    e.preventDefault();
                    e.returnValue = '';
                }
            });
    </script>
</body>

</html>

直接用Chrome浏览器测试的时候,这个提示框能正常弹出来(Chrome单独运行时,页面会弹出确认是否离开的提示框)。

但当我用Selenium结合ChromeDriver(版本131)启动Chrome时,填写表单后切换页面,浏览器直接跳转了,完全没弹出这个提示框。而且我之前用100以下版本的Chrome和ChromeDriver时,这个功能是正常的,提示框能正常显示。

下面是我启动ChromeDriver的代码:

driver_service = ChromeDriverService(
    executable_path=self.driver_exe,
    log_path=self.driverlog,
    service_args=self.driver_args,  # for chromedriver
)

self.driver = webdriver.Chrome(
    service=driver_service,
    options=self.browser_options,
)

我也导出了当前使用的Chrome配置和ChromeDriver参数:

  • Chrome选项参数:
    ['--user-data-dir=C:/Users/xxx/selenium_browser',
    

'--window-size=1260,720',
'--disable-gpu',
'--enable-javascript',
'--disable-extensions',
'--disable-dev-shm-usage',
'enable-automation',
'--disable-browser-side-navigation']

- ChromeDriver参数:`['--verbose']`

有没有大佬知道怎么让这个beforeunload提示框在ChromeDriver控制的Chrome里重新正常弹出呀?谢谢大家!

---

备注:内容来源于stack exchange,提问作者oldpride
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:29:33