Python селен выбрать элемент текста по стилю - PullRequest
0 голосов
/ 27 марта 2020

На этой странице '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.

Что я сделал не так? Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

Пожалуйста, найдите решение

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
0 голосов
/ 27 марта 2020

Данные заключены в iframe, поэтому вам нужно сначала переключиться на iframe, а затем получить детали.

driver.switch_to.frame(0)
driver.find_element_by_css_selector('text').text

Результат:

'6,876'

Снимок экрана:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...