
我想將 ::before 和 ::after 之間的文本提取到一個字串中。如何使用 for 回圈提取 selenium Python 中的所有文本?
uj5u.com熱心網友回復:
文本i位于::before和::after 偽元素之間。因此,要提取文本,您可以使用以下任一定位器策略:
使用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,您可以使用以下任一定位器策略:
使用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
您可以在How toret the text of a WebElement using Selenium - Python 中找到相關討論
參考
鏈接到有用的檔案:
- get_attribute()方法獲取元素的給定屬性或屬性。
- text屬性回傳元素的文本。
- 使用 Selenium 的 text 和 innerHTML 之間的區別
uj5u.com熱心網友回復:
::before并且::after只是一個偽元素。
在這里,您可以從div元素本身提取文本。
如果divclass有多個s,kbkey button red您可以執行以下操作:
buttons = driver.find_elements_by_css_selector("div.kbkey.button.red")
for button in buttons:
print(button.text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/369599.html
