selenium的Web自动化元素点击时仍需要time.sleep等待1秒的问题

在做web自动化时,已经用了等待,在定位到元素,进行操作时(点击或输入),还是定位不到元素,需要加个time.sleep(1),才能定位到

 

原因是:

1.located只保证存在,比如你这个场景,其实这个元素是一直存在的,只不过还没有显示出来,当点击一个菜单时,显示是需要一定时间的,比如需要0.1s,而程序执行的时间是<0.1s的,所以这时候拿到元素点击是会有异常的

2.元素能被点击三要素: 1:dom中存在 2:元素可见 3:元素enable状态

解决方案:

 

 

每次在操作元素前先判断元素是否存在,可见

 

posted on 2020-09-23 17:28  zfj822  阅读(480)  评论(0)    收藏  举报