Robot Framework Browser库iframe内元素滚动及输入问题求助
解决方案
- 替换
Type Text关键字为Fill TextType Text是模拟真实用户物理键盘输入,默认要求元素处于可交互状态(需在可视区域内)。而Fill Text是直接修改DOM元素的value属性,不需要元素出现在可视区域,也无需提前聚焦,可直接完成赋值。你代码中已注释了Fill Text相关逻辑,取消注释并调整定位器即可。 - 关闭Browser库的
enable_presenter_mode参数
当前你初始化Browser库时配置了enable_presenter_mode=True,该模式会自动高亮定位到的元素,触发自动滚动逻辑,同时会额外增加元素可见性校验。将该参数改为False或直接移除(默认值为False)即可取消相关限制。 - 给输入关键字增加强制操作参数
如果必须使用Type Text实现输入,可给关键字增加force=True参数,跳过元素可见性、可交互性校验,直接执行输入操作,示例如下:
Type Text css=iframe >>> input[id="textfield"] Tosca force=True
- 移除不必要的
Browser.Focus操作Focus操作默认会将目标元素滚动到可视区域,不需要滚动的话可直接删除该行代码,Fill Text或带force参数的Type Text都无需提前聚焦元素。
调整后可直接运行的完整代码
*** Settings *** Library Browser Documentation Scroll into view *** Test Cases *** Extracting text Open Browser https://obstaclecourse.tricentis.com/Obstacles/99999 Fill Text css=iframe >>> input[id="textfield"] Tosca Click id=submit sleep 3s
内容的提问来源于stack exchange,提问作者LTL
相关产品推荐
相关产品推荐

