python - Selenium 显式等待错误地接受 EC.visibility_of_element_located xpath 元素
问题描述
我目前正在运行 selenium pytest 自动化,并且遇到了显式等待的问题。我有一个这样的 WebDriverWait 函数:
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((
By.XPATH, '//div[@class="ant-card ant-card-bordered" and //*[contains(text(), "Access Points")]]')))
页面上不存在此特定 xpath 元素。
因此,我期望一个失败的测试用例。奇怪的是,它使用 docker 映像按预期工作并成功产生超时异常,但是当在本地 Web 浏览器上运行时,它通过显式等待而没有任何超时异常。我相信 xpath 元素有些奇怪,因为当我将 text() 属性编辑为页面上不存在的字符串时,它会正确失败。请注意,使用 chrome 检查工具搜索 xpath 元素时,找不到该元素,如上图所示
解决方案
正如我在附图中看到的:选定的 div 不包含文本“接入点”。让我们从 XPath 中删除它,或者尝试找到另一个实际包含此类文本的 div。
推荐阅读
- python-sphinx - 在 python-sphinx 生成的页面上显示警告框
- clone - 如何在 Perl 6 中制作对象的单独副本?
- android - 读取json文件表单主机在活动中显示白屏我该如何解决这个问题?
- linux - 从所有子目录中的所有 mp3 文件中删除前 3 个字符和后 1 个字符
- oauth-2.0 - oauth2 - 在 OIDC 之前如何识别用户?
- javascript - plotOptions.column.pointPlacement 一致性问题
- visual-studio-code - 结合两个 launch.json 配置在 Visual Studio Code 中按顺序运行
- jsf - JSF 请求范围 Bean 不在页面中显示数据
- android - 文本搜索时 Android WebView 视口溢出
- sql - SQL SELECT 取决于值