【问题标题】:selenium cant find element - no such element硒找不到元素 - 没有这样的元素
【发布时间】:2020-08-01 21:46:56
【问题描述】:

我有这个网站,我想在其中获取元素 post-title。

我试过driver.find_element_by_class_name("sc-1di2uql-1 vYcWR"),但只是返回:selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“.sc- 1di2uql-1 vYcWR"}

我看过类似的帖子,问题是搜索的元素在 iframe 中,但我在这里看不到类似的内容。大约一周前,我又开始学习网络抓取,所以可能有很多我不知道。

【问题讨论】:

  • 请阅读为什么screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的相关 HTML、代码试验和错误堆栈跟踪来更新问题。
  • 是源代码,还是您在使用浏览器开发工具时得到的(实时 HTML 代码)?
  • 是的,来自浏览器开发工具
  • 您要查找的元素有两个由空格分隔的类。搜索其中一个类。
  • 这是 2 节课?永远不会在我自己身上发现这一点。但仅此一项并不能解决问题。在寻找从屏幕截图中复制所有代码的方法时,我发现该元素的所有复制选项都以“#renderPageContentWrapper”开头。那一个包含“role = main”,所以我想我必须将其视为 iframe?

标签: python html selenium


【解决方案1】:

我之前也遇到过类似的 selenium 问题。我的问题是该网站会轮换类名,因此每次访问该页面时它们都会有所不同。从类名在您的网站上的方式来看,我认为您也有同样的问题。如果是这种情况,您只是在尝试寻找不存在的东西。我为解决这个问题所做的是使用driver.get_element_by_xpath(“PASTE FULL XPATH OF THE ELEMENT”),而不是使用它的 css 类来查找元素。

要获取元素的完整路径:在开发人员工具中,右键单击该元素并单击复制 FULL XPATH。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多