簡體   English   中英

如何在::before和::after之間提取文本

[英]How to extract text between ::before and ::after

在此處輸入圖像描述

我想將::before 和::after 之間的文本提取到一個字符串中。 如何使用 for 循環提取 selenium Python 中的所有文本?

文本i::before::after 偽元素之間。 因此,要提取文本,您可以使用以下任一Locator Strategies

  • 使用css_selector

     print(driver.find_element(By.CSS_SELECTOR, "div.kbkey.button.red").text)
  • 使用xpath

     print(driver.find_element(By.XPATH, "//div[@class='kbkey button red']").text)

理想情況下,您需要為visibility_of_element_located()引入WebDriverWait ,並且您可以使用以下任一Locator Strategies

  • 使用CSS-SELECTOR

     print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.kbkey.button.red"))).text)
  • 使用XPATH

     print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='kbkey button red']"))).text)
  • 注意:您必須添加以下導入:

     from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC

您可以在如何使用 Selenium - Python 檢索 WebElement 的文本中找到相關討論


參考

鏈接到有用的文檔:

::before::after只是一個偽元素。
在這里,您可以從div元素本身中提取文本。
如果有幾個div帶有 class kbkey button red ,您可以執行以下操作:

buttons = driver.find_elements_by_css_selector("div.kbkey.button.red")
for button in buttons:
    print(button.text)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM