Python 硒罐';无法从元素中获取文本
我无法从元素中获取文本。我认为它是一个动态添加到元素中的文本(从角度),因此不会直接加载到元素中。元素内的文本格式为“3”,ut周围有引用标记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
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也得到了相同的结果,那是一个空字符串:``它似乎找不到元素内的文本。