汇总篇--学习及练习过程中遇到过的问题

1. 报不可见异常Element is not currently visible and so may not be interacted with(单选题的答案设置)

就是元素的样式或父级及以上元素含有不可显示属性,以致在有些浏览器中(FirefoxDriver)不能操作,但在正常的浏览器中它是可见和可用的。可通过元素对象的方法isDisplayed()检测元素是否可显示的

在定位的时候前端里看到了是隐藏的样子,但是没意识到,报错后,去掉定位里最后一段隐藏的那个标签,就可以操作了

2. 日期控件的赋值(课程开始学习时间)

日期弹窗控件是iframe,但是通过switch_to.frame后操作总是不成功,所以开发给了另一个思路,写js直接赋值,还能避免操作日期控件会出现的问题。查询百度里给出的解决办法都是去掉input的readonly属性,看了看前端里readonly属性赋值是空,不是true,所以我试了试,不用去掉readonly直接赋值也OK,但是一获得焦点,日期控件就弹出,赋值后失去焦点就会出现undefined,看了看前端input的onfocus属性有值,所以去掉了这个属性再赋值,没有再弹出日期控件,OK成功赋值

1 #建议学习时间
2 timejs = "var setDate=document.getElementById("StudyTime");setDate.removeAttribute('onfocus');"
3 driver.execute_script(timejs)
4 driver.find_element_by_id("StudyTime").send_keys("2016-08-22")
原文地址:https://www.cnblogs.com/minieye/p/5814309.html