【问题标题】:Returnin text() from a td tag with the class name as 'tdlrow'从类名为“tdlrow”的 td 标签返回 text()
【发布时间】:2020-12-07 00:17:18
【问题描述】:

我正在尝试编写一个返回 TD 标记中所有文本的脚本,但无法显示完整代码,但我正在使用

instances = self.driver.find_element_by_xpath("//*[contains(@class, 'tblrow')]")

识别“行”然后需要返回位于的文本

<td align="left" I need this, And this <\td>

我还使用 .find_element_by_xpath 确定了表所在的主体。每次我都尝试

print(instances.text())

我尝试过遇到 unicode 错误

print(instances.text().decode("utf-8", "strict")

如果不成功,请提出任何问题。

【问题讨论】:

  • 你到底看到了什么 unicode 错误?

标签: python selenium selenium-webdriver html-table


【解决方案1】:

在打印到控制台时,有多种方法可以解决与unicode 相关的错误,如下所示:

  • 在第一种方法中,您可以使用encode('utf-8'),如下所示:

    print(instances.text.encode('utf-8'))
    
  • 在第二种方法中,您可以在 python 文件的顶部附加以下行:

    # -*- coding: utf­-8 ­-*-
    

【讨论】:

  • 当我使用 print(instances.text.encode('utf-8')) 时它是空白的,我认为这是因为没有文本可以返回
  • @GeorgeBurns 当你使用print(instances.text())时发生了什么?
  • 所以这个答案解决了你面临的unicode error。请您对您的新要求提出一个新问题吗?
  • 是的,它修复了 Unicode 错误,谢谢。我认为因为该表是动态的,所以从技术上讲,该对象不再是该对象,这就是它打印空白的原因我需要一种方法来搜索动态表中有多少对象具有 标签,然后解码保存的文本在每个单独的标签中然后打印。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-02
  • 2019-09-02
  • 2017-04-12
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
相关资源
最近更新 更多