在Selenium Python实现页面对象模型时,浏览器快速启停无报错求助
解决Selenium POM中浏览器快速打开后关闭的问题
问题原因分析
- 测试函数未执行:你定义了
test_login函数,但没有在代码中调用它,程序仅初始化Chrome驱动后就直接结束,Python进程退出时会自动关闭关联的浏览器窗口。 - 语法错误:测试函数内的
timeenter code here.sleep(10)是无效输入代码,属于笔误,若执行到这一步会触发报错(你没看到报错是因为函数根本没被调用)。 - 变量名冲突:全局的
driver实例和测试函数的driver参数重名,后续调用函数时容易引发逻辑混淆。
修复步骤及修正代码
1. 调用测试函数
在代码末尾添加函数调用语句,让测试逻辑真正执行。
2. 修复语法错误
把错误的睡眠代码修正为标准的time.sleep(10)。
3. 优化变量命名(可选但推荐)
避免全局变量和函数参数重名,减少逻辑混淆的可能。
修正后的测试文件代码:
from selenium import webdriver import time from TestingProject.Pages.login_page import login # 初始化Chrome驱动 chrome_driver = webdriver.Chrome() def test_login(driver): login_page = login(driver) login_page.open_page('https://www.bbc.co.uk/news') time.sleep(10) # 执行测试逻辑 test_login(chrome_driver) # 测试完成后手动关闭驱动,避免残留进程 chrome_driver.quit()
另外补充:你的login类目前仅实现了打开页面的功能,和类名的“登录”定位不符,后续可以补充登录相关的元素定位与操作方法(比如用户名输入框、密码输入框、登录按钮的定位和交互),这才是页面对象模型(POM)的核心价值。
内容的提问来源于stack exchange,提问作者newb81
相关产品推荐
相关产品推荐

