python-3.x - 使用 Python 等待元素中的文本成为 Selenium 中的数字
问题描述
一个动态生成的网站有这样一个元素:
<b class="2020-is-terrible"></b>
一段时间后,它会用这样b
的随机数填充元素:
<b class="2020-is-terrible">42</b>
我想等待生成该数字,现在我想出了一个等待特定数字的代码:
WebDriverWait(driver, 10).until(expected_conditions.text_to_be_present_in_element((By.CLASS_NAME, "2020-is-terrible"), "42"))
b
但如果元素中出现任何值(不仅仅是 42),我想继续。该值将始终是一个数字,所以我只需要检查文本是否为空。
expected_conditions类的列表,因此您无需谷歌。
解决方案
使用 xpath,您还可以and
通过组合类名和来使用运算符text!=''
,如下所示:
//b[@class='2020-is-terrible' and text()!='']
尝试这个:
WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.XPATH, "//b[@class='2020-is-terrible' and text()!='']")))
推荐阅读
- angular - 如何在 Angular 10 中导入 Bulma Carousel?
- java - 如何使用 Java 代码从 MongoDB 集合中获取不同的计数?
- java - 如何确定我的 Springboot 战争文件是否包含嵌入式 http 服务器?
- ios - 在 SwiftUI 中,如何使手势在容器视图之外处于非活动状态?
- openapi - 打开 api 3 为单个字符串项添加多个随机示例
- python - 通过纬度和经度绘制数据
- python - 我可以将 Pandas 数据框的后续列分配给变量元组吗?
- if-statement - 一千个嵌套的 if/and/or
- r - 带有 URL 的“-`*tmp*` 中的错误:一元运算符的参数无效”
- r - xtable + addcontentsline