繁体   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