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