簡體   English   中英

如何使用 Python Selenium 從 HTML 讀取實時文本

[英]How to read real time text from the HTML using Python Selenium

我正在嘗試使用來自網站的實時股票數據,但我似乎無法找到記錄和實現價值的正確方法。 我一直使用的方法是driver.find_element_by_xpath()但我似乎無法訪問此“ >data< ”html 代碼中的數據。 請幫我找到一種方法來做到這一點,我的意思是能夠讀寫該代碼

作為一個例子,讓我們使用這個:

<span data-win-bind="textContent: OneHourLow Converters.emptyStringToSomething" id="_win_bind1580">87.44</span>

要打印文本87.44 ,您可以使用以下任一定位器策略

  • 使用css_selectorget_attribute("innerHTML")

     print(driver.find_element(By.CSS_SELECTOR, "span[data-win-bind*='OneHourLow Converters'][id*='win_bind']").get_attribute("innerHTML"))
  • 使用xpath文本屬性:

     print(driver.find_element(By.XPATH, "//span[contains(@data-win-bind, 'OneHourLow Converters') and contains(@id, 'win_bind')]").text)

理想情況下,您需要為visibility_of_element_located()引入WebDriverWait ,您可以使用以下任一定位器策略

  • 使用CSS_SELECTORtext屬性:

     print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span[data-win-bind*='OneHourLow Converters'][id*='win_bind']"))).text)
  • 使用XPATHget_attribute("innerHTML")

     print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[contains(@data-win-bind, 'OneHourLow Converters') and contains(@id, 'win_bind')]"))).get_attribute("innerHTML"))
  • 注意:您必須添加以下導入:

     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