python - 如何使用 Selenium 和 Python 定位元素并提取 innerText
问题描述
<span class="chr-UserDropdownItem-imageAndText">
<img class="chr-UserDropdownItem-image" src="/slm/profile/image/264023573852/24.sp?version=1" alt="User Profile Avatar">
<span class="smb-DropdownItem-text">
<span> test user </span>
</span>
</span>
通过查看上面的屏幕截图,请帮助我从span 标签中唯一地提取innerText
测试用户。
解决方案
要提取文本测试用户,您必须诱导WebDriverWait并且visibility_of_element_located()
您可以使用以下任一 Locator Strategies:
使用
CSS_SELECTOR
和get_attribute()
:print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.smb-DropdownItem-text>span"))).get_attribute("innerHTML"))
使用
XPATH
和文本属性:print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "span[@class='smb-DropdownItem-text']>span"))).text)
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
推荐阅读
- python - 将状态附加到熊猫中的数据框
- django - 如果excel没有嵌入功能,如何在iframe中嵌入csv-Django
- php - 取消订阅后无法在 php 的条带网关中再次订阅
- excel - 如何修复我极其缓慢的复制粘贴 Excel VBA 代码?
- dart - Find and version bump outdated packages in Flutter (across major versions)
- django - ESP8266 与本地托管服务器的连接
- c# - 有没有办法阻止 Windows 缓存网络文件?
- swift - Swift REPL 中的变量声明必须有初始值
- java - 在 Java 中声明引用变量和初始化它有什么区别?
- google-sheets - 部分重复的条件格式