На этой странице 'https://www.nj.gov/health/cd/topics/covid2019_dashboard.shtml' я пытаюсь получить количество позитивов в Нью-Джерси (в верхнем правом углу приборной панели).
positiveCount = driver.find_elements_by_xpath("//text[@style='stroke-width: 2; font-size: 160px; line-height: normal;']") print len(positiveCount)
всегда показывает 0.
Что я сделал не так? Спасибо.
Пожалуйста, найдите решение
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By driver = webdriver.Chrome(executable_path=r"C:\New folder\chromedriver.exe") url = 'https://www.nj.gov/health/cd/topics/covid2019_dashboard.shtml' driver.get(url) driver.maximize_window() iframe = WebDriverWait(driver, 20).until( EC.presence_of_element_located((By.TAG_NAME, 'iframe'))) driver.switch_to.frame(iframe) svg = WebDriverWait(driver, 20).until( EC.presence_of_element_located((By.CSS_SELECTOR, 'text'))) print svg.text
Данные заключены в iframe, поэтому вам нужно сначала переключиться на iframe, а затем получить детали.
driver.switch_to.frame(0) driver.find_element_by_css_selector('text').text
Результат:
'6,876'
Снимок экрана: