python中定位不到元素报错的原因及解决办法

刚刚在好群里面发现了一个问题,有好几个人都说定位不到元素直接报错了,报错如图:

python中定位不到元素报错的原因及解决办法

首先我们要懂得分析,报错的代码意思是什么,最重要的是你能看懂它提示什么错误,然后在去根据提示去修改即可。

我们这里可以看到最底下有chromedriver=2.33.206这一串英文,第一,chromedriver这个单词是谷歌的浏览器驱动的意思,然后后面接着就是版本号,从而得知,这个定位不到元素报错的原因是因为谷歌浏览器和谷歌浏览器的驱动版本不一致导致的错误,我们只需要更新谷歌驱动即可,我有笔记记录驱动下载的地方,不知道的可以查找一下。

第二、定位不到元素,有肯能是网页加载没有加载出来,然后脚本就开始定位了,这样也会报错,解决办法是添加智能等待时间或者强制等待时间,等待几秒钟网页加载进来后在开始定位。

第三、python脚本自己启动浏览器的话,浏览器的窗口不是最大化的,如果说你要定位的元素没有出现在窗口中,也是定位不到的,所以这个就先将浏览器最大化,然后才开始定位。

第四、很多人都会有一个误区,就是我用IE浏览器去跑这个自动化脚本没有问题,一到我用谷歌或者火狐等就会报错定位不到元素,首先,每一个浏览器都会有自己专属的浏览器驱动,如果你没有安装驱动,是不可能掉用到浏览器,其次,每个浏览器的驱动都不一样,你在IE下正常,不代表在谷歌也能正常,所以报错了就得想办法解决。


以上就是个人总结的经验,其实只要你能看懂报错的意思,基本就能找到解决的办法