繁体   English   中英

无法使用 Selenium 获取元素的文本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM