python - 无法使用 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 中。
推荐阅读
- android - 在带有 RecyclerView 的 NestedScrollView 中无法正确显示过度滚动效果
- r - 查找重复项(在其中一个重复项中添加一些内容),然后在 R 中保留没有 NA 的那个
- javascript - 用 moment.js 求和时间
- r - 从 GEOquery 加载微阵列数据时,现在获取样本名称时出错
- macos - NSFont 字体大小与字体度量有何关系
- apache-spark - 当对基础表进行分桶时,Spark 如何在联接表时减少 shuffle
- excel - 使用 Excel VBA 从 Excel 中的查询下载的数据中删除重复项
- ruby-on-rails - 规范患者/医师/预约模式中“可用性”的模型关联?
- r - 在 R 代码中使用 Shiny 中用户修改的矩阵
- javascript - 通过使用jquery将php字符串传递给onclick函数来获取[object Object]