![](/img/trans.png)
[英]Python Selenium: Can get web's element but cannot get the text in it
[英]Cannot get text of element with Selenium
我有下面的DOM元素:
<span class="styles__Content-rlm06o-1 ixoRjG">20.00000000</span>
我正在尝试从中获取20.00000000
值:
text = driver.find_elements_by_xpath("//*[@class='styles__Content-rlm06o-1 ixoRjG']")[0].text
...
number = float(text)
但是 Python 返回could not convert string to float: ''
表示20.00000000
未被识别为文本。 此代码已在其他网站上运行,所以也许这是一个特定于网站的东西? 还是我忽略了什么?
您可以尝试使用此xpath
获取第一个元素的文本:
el_text = driver.find_element_by_xpath("//span[contains(@class, 'styles__Content-rlm06o-1 ixoRjG')][1]").text
此外,您可以通过以下方式使用css
选择器:
el_text = driver.find_element_by_css_selector(".styles__Content-rlm06o-1.ixoRjG:nth-of-type(1)").text
如果文本仍然为空,请确保您正在等待元素变为可见并且该元素不在 iframe 内。
您可能从该列表中获得了不同的元素。 我建议采用与vitaliis 提出的类似方法,但不是按class 查找,而是按文本查找。
text = driver.find_element_by_xpath("//span[contains(text(), '20')]").text
number = float(text)
print(number)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.