selenium2: Click radio button 不生效的解决方法

解决难点击的RadioButton
本文介绍了一种在自动化测试中解决难以点击的RadioButton的方法。通过调整页面滚动位置,确保元素可见,进而实现准确点击。

 

问题: 我们测试站点上的某一个radio button老是点不到
 
测试代码: 
               WebElement radio = driver.finElement(By.id("id"));
                 if(!radio.isSelect())
                {
                    radio.click();
                }
 Debug的时候,能走到第四行,radio.click(); 但是实际运行的时候,老是点不上。刚开始怀疑是等待时间不够长,在findElement之后加了等待时间,在click之后也加了等待时间,都不行。
最后选择多次点击这个radio。只要判断没有点击成功,就接着点。
修改代码为: 
                 WebElement radio = driver.finElement(By.id("id"));
                  while(!radio.isSelect()) {   
                    radio.click();
                    thread.sleep(1000);
                 }
这样做页面不停的闪烁,就是点击不到radio button。最后不小心碰了一下鼠标,鼠标跳到webdriver启动的页面。元素就被点到了。
问题的原因: 试了好多次,终于发现原来是因为radio button在页面的底端,测试页面非常长。改成下面的就可以了。
         WebElement radio = driver.finElement(By.id("id"));
           cradio.sendKeys(Keys.ARROW_DOWN);
           if(!radio.isSelected()) {
               radio.click();
               Thread.sleep(1000);
          }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值