我嘗試從 div 中抓取列印文本并得到如下所示的錯誤!請幫忙
from selenium import webdriver
import pandas as pd
driver = webdriver.Chrome(executable_path= '/Users/leah/Documents/Scrap-Finantials/webdrivers/chromedriver')
driver.get('https://www.dummy-id.com/StockInfo/_ScreenerScan.html?SYMBOLS_PP=25&SYMBOLS_ONLY=on&sort1=MaxVWVP&sort2=None&sort3=None&WN=Lowfloat&MaxFloat=20000000&XN=on&X_NYSE=on&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'
uj5u.com熱心網友回復:
呼叫find_elements_by_xpath()將獲得元素串列,而不是單個元素。呼叫 len(ticker) 沒問題,但ticker.text 不正確。
如果你想列印每個元素,你需要一個回圈
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/339957.html
上一篇:PythonSelenium,即使元素是可互動的,輸入欄位也會回傳ElementNotInteractableException
