python - 无法获取 div 的文本
问题描述
<div _ngcontent-tpr-c123="" class="panel panel--bordered">hac-action: 1: /wae:wae/wae-ha:ha-config/ha-data-sync</div>
old_config_xpath = "//div[contains(text(),'hac-action')]"
element_value = wae_base_params[self.driver_key].find_element_by_xpath(old_config_xpath).text
element_value 为空。
注意:上面的 HTML 代码不是网页上可见的内容
解决方案
任何元素的定位方式都是在 DOM 上。
确保元素位于 DOM 上的方法是使用WebDriverWait
expected_conditions:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(browser, 10)
element_value = wait.until(EC.visibility_of_element_located((By.XPATH, "//div[contains(text(),'hac-action')]]"))).text
推荐阅读
- python - 如何使用for循环从python返回十进制值?
- javascript - 将 HTML 代码插入到 div onClick 但不替换现有代码
- mysql - 如果 column2 发生变化,MySQL column1 增加 1
- javascript - 在 rtl 中,避免在单个测试中渲染多个组件?
- python - 从一串随机函数创建图像
- javascript - 循环子对象中的键并显示键和值
- javascript - 我需要对 Helper 类有经验的看法
- python - 'in' 用于具有最低复杂度的两个排序列表
- angularjs - 同时运行两个 Angular 应用程序
- python - 如何在一个主窗口中有两个小部件