我試圖用硒獲取特定元素(最小數量),但它的回傳為空
options = Options()
options.headless = True
browser = webdriver.Firefox(options=options)
browser.get('https://www.huobi.com/en-us/trade-rules/exchange')
time.sleep(5)
name = browser.find_element(by=By.CSS_SELECTOR, value='.dt-wrap .exchange-item span:nth-child(4)')
print(name.text) # Return Empty
硒或beautifulsoap如何做到這一點?
uj5u.com熱心網友回復:
資料也通過 API 從外部源填充。因此,您只需使用requests模塊即可輕松提取所需的所有資料。
例子:
import requests
api_url = 'https://www.huobi.com/-/x/pro/v2/beta/common/symbols?r=mhzzzd&x-b3-traceid=6c1acdfbf0a19d63cc05c62de990a55c'
req = requests.get(api_url).json()
for item in req['data']:
print(item['display_name'])
輸出:
REN/HUSD
NKN/HT
BRWL/USDT
NSURE/BTC
ITC/USDT
SPA/USDT
CTC/USDT
EVX/BTC
EUL/USDT
USTC/USDT
SUKU/USDT
KAN/BTC
NFT/USDC
LOOKS/USDT
IOI/USDT
DORA/USDT
BAT/USDT
QSP/ETH
WXT/USDT
RING/ETH
NEAR/ETH
SWFTC/BTC
LINK/HUSD
RUFF/USDT
EFI/USDT
DIO/USDT
AVAX/USDC
GSC/ETH
RAD/BTC
INSUR/USDT
NODL/USDT
H2O/USDT
BTC/HUSD
FIRO/ETH
KCASH/BTC
XPNT/USDT
STPT/BTC
XCN/USDT
ETC/BTC
OCN/ETH
BTC/EUR
MAN/BTC
OP/USDC
OXT/BTC
DASH/USDT
KSM/USDT
SD/USDT
YGG/BTC
... 很快
uj5u.com熱心網友回復:
我認為您的 CSS_SELECTOR 是錯誤的。也許用一個串列來做,然后拿你想要的元素?
就像是:
exchange_items: list = driver.find_elements(By.XPATH, '//div[@]')
target = exchange_items[3]
print(target.text)
在這里,我們取所有專案并選擇 4。
uj5u.com熱心網友回復:
在那種特定情況下,使用.get_attribute('innerText')or.get_attribute('innerHTML')來實作您的目標selenium:
browser.find_element(By.CSS_SELECTOR, '.exchange-item span:nth-of-type(4)').get_attribute('innerText')
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/506710.html
上一篇:在Python中使用SeleniumWebdriver單擊LI鏈接
下一篇:使用回傳值作為函式引數
