Python 硒罐';无法从元素中获取文本

Python 硒罐';无法从元素中获取文本,python,selenium,Python,Selenium,我无法从元素中获取文本。我认为它是一个动态添加到元素中的文本(从角度),因此不会直接加载到元素中。元素内的文本格式为“3”,ut周围有引用标记 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time from selenium.common.exceptions import TimeoutException from selenium.webdriver.suppor

我无法从元素中获取文本。我认为它是一个动态添加到元素中的文本(从角度),因此不会直接加载到元素中。元素内的文本格式为“3”,ut周围有引用标记

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

import xlsxwriter

import re
pattern = r"[\"\d{1, 2}\"]"

PATH = "C:\Program Files (x86)\chromedriver.exe"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
driver = webdriver.Chrome(PATH, chrome_options=chrome_options)


driver.get("some-url")

xpathPain = "/html/body/div[2]/div/div/div[1]/div/div/div[1]/div[3]/div/div/div[1]/div[3]/development-numbers/status-numbers/div/div[2]/div/h4"

try:
    element = WebDriverWait(driver, 20).until(
        EC.presence_of_element_located((By.XPATH, xpathPain)))

    elementPain = driver.find_element_by_xpath(xpathPain)
    print(elementPain.text)

except TimeoutException:
    print("Failed to load elementPain")
我得到输出:(空白,就像一个空字符串)

。我尝试等待文本加载EC text_to_be_present_in_元素(定位器,text_),并尝试为文本部分使用正则表达式

元素的页面源为:

<h4 class="status-numbers__number">
"6"
<!---->
</h4>

不知道这与视口外的元素有关。

使用以下
XPath
来标识元素。 您可以使用
element.text
element.get\u属性(“textContent”)
来获取文本

try:
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//h4[@class='status-numbers__number']")))

    elementPain = driver.find_element_by_xpath("//h4[@class='status-numbers__number']")
    
    print(elementPain.text) #To get the text using text
    
    print(elementPain.get_attribute("textContent")) #To get the text using get_attribute()

except TimeoutException:
    print("Failed to load elementPain")

我已经使用Firefox和以下代码解决了这个问题:

try:
    element = WebDriverWait(driver, 20).until(
        EC.element_to_be_clickable((By.XPATH, xpathPain)))

    elementPain = driver.find_element_by_xpath(xpathPain)
    print(elementPain.get_attribute("innerHTML"))
try:
    element = WebDriverWait(driver, 20).until(
        EC.element_to_be_clickable((By.XPATH, xpathPain)))

    elementPain = driver.find_element_by_xpath(xpathPain)
    print(elementPain.get_attribute("innerHTML"))

我不知道这与视口外的元素有关。

我对该xpath也得到了相同的结果,那是一个空字符串:``它似乎找不到元素内的文本。