这是我的问题。我正在尝试从币安网站检索各种值(价格)。我已经设法从“orderbook-list-container”中提取不同的类。然而,它并没有给我 HTML 这部分中的所有询问值。
因此,我尝试遍历不同的“div”元素以到达我想要的元素。这就是我所做的:
driver.get("https://www.binance.com/fr/trade/ETH_USDT")
wait = WebDriverWait(driver, 20)
wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="onetrust-reject-all-handler"]'))).click()
sleep(0.5)
sell = wait.until(EC.visibility_of_all_elements_located((By.XPATH, '//*[@id="spotOrderbook"]/div[3]/div[1]/div[1]/div[1]/div//div//div//div//div')))
e=0
print(len(sell))
for prix, row in enumerate(sell):
e+=1
prixx = sell[prix].get_attribute('ask-light')
print("Prix pour sell: ", prixx, e)
一切正常;但是,我无法检索所有“ask-light”值。所以我想问一下有没有可能全部拿到?
致以诚挚的问候。
抱歉,我的英文翻译不准确;我的语言说得不太好。
您所指的“ask-light”是一个类,而不是一个属性,例如
<div class="ask-light" style="font-size: 12px; flex: 1 1 0%; text-align: left;">3070.81</div>
获取所有这些内容的最简单方法是使用简单的 CSS 选择器,
div.ask-light
^ find a DIV tag
^ that has a class 'ask-light'
更新您的代码,我们得到
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://www.binance.com/fr/trade/ETH_USDT"
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(url)
wait = WebDriverWait(driver, 10)
prices = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div.ask-light")))
for price in prices:
print(price.text)
driver.quit()
输出
3067.51
3067.50
3067.49
3067.48
3067.46
3067.45
3067.41
3067.40
3067.39
3067.36
3067.35
3067.34
3067.33
3067.31
3067.30
3067.29
3067.28
3067.26