记录一下用selenium以来踩过的坑吧
- 使用Chrome,登陆后总是弹出记住密码提示框,有时可能影响定位
解决办法:打开Chrome时设置option选项:
options = webdriver.ChromeOptions()
prefs = dict()
prefs["credentials_enable_service"] = False
prefs["profile.password_manager_enable"] = False
options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(chrome_options = options)
-
根据关键词搜索结果的断言,思路是用循环遍历每个搜索结果,并assert判断是否等于或包含,一个用例可以包含多个断言的,每个断言是并行的,所有assert都通过,结果才是通过的
-
遇到一个案例,浏览器点击当前页面A元素,打开了新的标签页B之后,实际的window句柄还是在当前A页面,而我想当然以为是新标签页B,然后定位B中的元素发现死都找不到。。。所以如果有打开新的页面,还是需要通过switch_to.window(handler)切换到新的页面
-
页面元素有时被(浮动广告、页脚等)遮挡,此时click()等操作会报无法操作的异常,需要避免这种情况