Selenium+Python 解决输入框数据未生效问题:先点击再输入
在使用 Selenium 和 Python 进行自动化测试时,脚本执行成功但页面数据未更新。通过对比 Selenium IDE 录制脚本发现,缺少对输入框的显式点击操作。在 send_keys 前增加 find_element_by_id().click() 步骤后,问题得以解决。本文分享了这一关键细节,帮助开发者避免类似陷阱。
近期在个人项目中尝试进行自动化测试(尽管公司并无此强制要求),具体场景为用户管理模块的信息修改。脚本运行结果显示操作成功,底层确实执行了更新逻辑,但在前端页面重新登录查看时,发现用户信息并未发生任何变化。在确认系统该编辑功能本身可用后,检查了相关测试脚本,发现如下代码片段:
if result_num>1:
print "Begin to change user infomations"
driver.find_element_by_xpath("//*[@id='tbodyUserInfo']/tr/td[8]/img[2]").click()
driver.implicitly_wait(15)
driver.find_element_by_id("uname").clear()
driver.find_element_by_id("uname").send_keys("MoondyLi")
driver.find_element_by_id("truename").clear()
driver.find_element_by_id("truename").send_keys("chenchen")
driver.find_element_by_id("updateUser").click()
从代码逻辑来看,一切似乎正常,且通过截图验证,脚本确实执行了输入动作。然而,为了进一步排查,使用 Firefox 自带的 Selenium IDE 重新录制了该操作流程。对比发现,IDE 生成的自动化脚本中多出了一个关键步骤:
driver.find_element_by_id("uname").click()
# 在输入文本前,先点击选中输入框
将上述点击步骤补充到脚本中后,数据修改功能恢复正常,成功更新了数据。
以上关于 Selenium 结合 Python 处理输入框输入问题的解决方案,是小编整理的全部内容,旨在为遇到类似问题的开发者提供参考,欢迎大家支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













