[英]How to extract text between ::before and ::after
文本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
链接到有用的文档:
::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.