python - 如何使用 Selenium 和 Python 定位元素并提取内部文本

标签 python selenium xpath css-selectors webdriverwait

<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 测试用户

最佳答案

要提取文本测试用户,您必须为visibility_of_element_ located()引入WebDriverWait,并且可以使用以下任一 Locator Strategies :

  • 使用 CSS_SELECTORget_attribute():

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.smb-DropdownItem-text>span"))).get_attribute("innerHTML"))
    
  • 使用 XPATHtext 属性:

    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 - 如何使用 Selenium 和 Python 定位元素并提取内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59787481/

相关文章:

python - 在 gevent 中检测客户端断开连接

python - 在 pandas 中追加数据框

python - DRF : how to change the value of the model fields before saving to the database

PHP Dom 删除元素保留内容

java - 在 Java 中用字符串替换 XML 文档中的元素

python - 元组 Python 中的斐波那契数列

java - Selenium HtmlUnitDriver 在随机位置随机挂起

python - 使用 xpath 按位置查找元素

selenium - Watir/Capybara 和 PhantomJS 的奇怪偏移

xml - 用于标识后面没有内容的最后一个元素的表达式