簡體   English   中英

使用 Selenium 和 Python 從動態網站獲取元素值

[英]Get element value from dynamic website using Selenium and Python

我正在嘗試直接從交易平台plus500獲取AMZN指數市場的賣價價值,價值不斷變化,所以我必須使用selenium。 我正在使用的代碼是這個:

driver.get("https://app.plus500.com/trade/amazon")
# get AMZN vending price
Sell = driver.find_elements(By.CLASS_NAME, value="sell")
print(Sell)

來源的 html 是這樣的:

<div class="sell" data-no-trading="false" id="_win_plus500_bind873" data-show="true">126.28</div>

每次更改時,我都需要抓取該值(在本例中為 126,28)。 如果需要,我為您創建了一個虛擬 Plus500 帳戶:用戶名“myrandomcode@gmail.com”密碼:“MyRandomCode87”。

要直接從交易平台plus500中提取 AMZN 指數市場的銷售價格值,即文本126.28作為元素是動態元素,您需要為visibility_of_element_located()誘導WebDriverWait ,您可以使用以下任一定位器策略

  • 使用XPATH

     print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[starts-with(@class, 'section-table-body')]//span[text()='Amazon']//following::div[2]"))).text)
  • 注意:您必須添加以下導入:

     from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC

您可以在如何使用 Selenium - Python 檢索 WebElement 的文本中找到相關討論

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM