qq460563679 large avatar
测试学习小组  ›  python selenium

关于更新chromedriver2.34之后出现的问题

By qq460563679 at 一年前 , 877 次浏览

各位老师大家好。本人一直在使用python+selenium来进行自动化测试的学习。
昨日更新了chromedriver到2.34,chrome版本为63,发现之前能够顺利执行的测试用例出现了问题。
这是之前的代码片段:

self.browser.find_element_by_class_name("login-btn").click()
greetingLink = self.browser.find_element_by_css_selector("#currentUser .component_label_text")

这两行具体操作就是点击登录按钮后,获取页面右上角显示的当前登录用户的用户名。

在之前chromedriver 2.23时是没有问题的。但当我更新2.24之后,会在执行上面第二行时报出无法定位的错误。
我尝试通过添加显式等待或隐式等待来解决问题,的确也奏效了。但是心里一直有一个疑问,为什么更新2.24驱动后,在浏览器还没有加载完登录后的页面就开始判断元素是否存在了?这在之前2.23驱动的时候是没有的,都是等待页面加载完(chrome地址栏没有加载的圆环转动)之后才开始判断元素是否可定位。
页面中有很多这样类似的操作需要等待页面跳转,但是发现都不像以前那样等待加载完再进行操作了。

请问各位老师,这是因为我之前写的测试脚本不够严谨呢?还是chromedriver内部有了什么更改,或是其他方面出现了什么问题?

谢谢大家

2 回复
虫师 medium avatar
#1 - 一年前
虫师

不清楚! chromedriver 驱动本身是不开源的 由google 维护。 如果是报 找不到元素的话,我们只能通过修改元素的定位方式来解决

qq460563679 medium avatar
#2 - 一年前
qq460563679

@虫师 感谢老师回复!看来暂时只能通过更加严格的判断来处理了

测试学习小组 — 软件测试学习讨论区
现在注册
已注册用户请 登入
内容分享

欢迎关注我们的公众号: 测试圈TC


小贴士

你的问题在测试教程网中能找到答案