一、出现的问题:
做UI自动化测试时,常常遇到选中下拉框时由于选项为出现在页面,导致无法选中的问题;
二、解决办法:
解决思路1:网上搜到的方法,通过JS方式scrollIntoView模拟页面滚动到可见区,再选中即可;
解决思路2:当遇到一些比较特殊的下拉控件时,思路1会失效,没关系,从前端的角度,下拉框一定是把所有选项都装到一个父级容器里并设定高度设置可滚动查看(如li标签的父级容器ul),所以解决思路为,找到装下拉选项的容器,并把它的高度调大展出来就行了;
三、具体代码如下:
解决思路1:
#使用 JavaScript 实现滚动
# 假设 dropdown_element 是需要下拉选中的元素对象
webDriver.execute_script("arguments[0].scrollIntoView(true);", dropdown_element)
解决思路2:
# 假设 dropdown_wrapper 是下拉框父容器
webDriver.execute_script("arguments[0].style.height = '500px';", dropdown_wrapper)
大功告成!