#html #selenium-webdriver
Вопрос:
Я попытался очистить печатный текст из div и получить ошибку, как показано ниже! пожалуйста, помогите
from selenium import webdriver
import pandas as pd
driver = webdriver.Chrome(executable_path= '/Users/leah/Documents/Scrape-Finantials/webdrivers/chromedriver')
driver.get('https://www.dummy-id.com/StockInfo/_ScreenerScan.html?SYMBOLS_PP=25amp;SYMBOLS_ONLY=onamp;sort1=MaxVWVPamp;sort2=Noneamp;sort3=Noneamp;WN=Lowfloatamp;MaxFloat=20000000amp;XN=onamp;X_NYSE=onamp;X_ARCA=on')
ticker = driver.find_elements_by_xpath('//body/div[4]/div/div/div/div[1]/div')
len(ticker)
print(ticker.text)
#Try printing ticker and get following error!
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-45-0ca4276d61ba> in <module>
----> 1 print(ticker.text)
AttributeError: 'list' object has no attribute 'text'
Комментарии:
1. Пожалуйста, уточните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Как написано в настоящее время, трудно точно сказать, о чем вы спрашиваете.
Ответ №1:
При вызове find_elements_by_xpath()
будет получен список элементов, а не один элемент. Вызов len(ticker) — это нормально, но ticker .текст неверен.
если вы хотите распечатать каждый отдельный элемент, вам нужен цикл
ticker = driver.find_elements_by_xpath('//body/div[4]/div/div/div/div[1]/div')
len(ticker)
for elem in ticker:
print(elem.text)
Ссылка: https://selenium-python.readthedocs.io/locating-elements.html
Комментарии:
1. Большое спасибо