簡體   English   中英

無法通過 css 或 xpath 獲取元素值

[英]Can't get element value by css or xpath

我試圖通過 xpath 和 css 獲取元素的值,並嘗試使用 .text 和 .get_attribute('value'),但沒有辦法得到它。

元素:

<div class="itemWrapper-tp4JSoHa"> [flex]
  <div class="value-tp4JSoHa">1205.61</div

代碼1:

WebDriverWait(driver, 60).until(EC.visibility_of_element_located((By.XPATH, "//*[@class='value-tp4JSoHa']")))
equity = driver.find_element_by_xpath("//*[@class='value-tp4JSoHa']")
num_equity = equity.text #int(equity.text) 
return num_equity

結果 = 0

代碼2:

WebDriverWait(driver, 60).until(EC.visibility_of_element_located((By.XPATH, "//*[@class='value-tp4JSoHa']")))
equity = driver.find_element_by_css_selector('div.itemWrapper-tp4JSoHa:nth-child(2) > div:nth-child(1)').get_attribute('value') 
return equity

結果 = 無

有什么解決辦法嗎?

參考您的代碼 1 示例:

  • find_elements_by_xpath替換find_element_by_xpath的“聰明”技巧(一個微小的區別)現在返回結果列表

  • 現在要么遍歷列表,要么選擇索引為[0]的第一個元素:

     num_equity = equity[0].text #int(equity.text)

    這給了你1205.61

  • 如果要返回列表中元素的計數,請使用

    num_equity = len(equity)

暫無
暫無

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

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