selenium⾃动化脚本错误总结
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/zxy987872674/article/details/53141118
编写selenium脚本时,会犯些错误,纪录下来,⽅便⾃⼰后续查看
1、定位元素时提⽰:
unknown error: Element is not clickable at point (580, 47). Other element would receive the click: <label for="stb_1">...</label>
提⽰:元素⽆法点击,其他的元素会接收此点击⾏为。
分析原因,⾸先肯定不是因为页⾯元素不存在⽽⽆法点击。
分析后得出,实际上这个页⾯元素是存在的,⽽是被另外⼀个弹层挡住了。
2、
提⽰没有alert弹框弹出,分析得出是因为前⾯有个元素没有定位到,但是为什么不直接提⽰元素没有定位到,⽽是提⽰没有alert弹出。。。
3、
alert = driver.switch_to.alert()
TypeError: 'Alert' object is not callable
对象不能⽤函数形式调⽤,就是不能callable。 此类错误⼀般是由于内部函数被⽤作变量名时发⽣
4、
没有安装⽕狐浏览器的驱动,我安装环境时,只安装了chrome的驱动,安装firefox的驱动即可
5、
driver.find_element_by_id("su").click()
raise exception_class(message, screen, stacktrace)
(Session info: chrome=54.0.2840.71)
(Driver info: chromedriver=2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1),platform=Mac OS X 10.11.5 x86_64)
因为在程序中使⽤了set_window_size设置了窗⼝的⼤⼩,窗⼝缩⼩后,导致某个元素⽆法点击;
解决办法:将set_window_size设置的宽度调⼤,使driver.find_element_by_id(“su”).click()被定位的元素不被遮挡即可。
6、
tagname1 = ElementByTagName('browser')
AttributeError: 'Element' object has no attribute 'getElementByTagName'
在定位元素过程中,注意当获取⼀组标签时,element是复数,改为tagname1 = ElementsByTagName(‘browser’)即可;
7、
raise ImportError('Start directory is not importable: %r' % start_dir)当前页面脚本发生错误
ImportError: Start directory is not importable: './tesCase/'
这个错误很低级,然后⾃⼰还了好久,记录⼀下,路径写错了,’./testCase/’,少了⼀个字母t