【问题标题】:Why I cannot take a value from a website using seleniun为什么我不能从使用 selenium 的网站中获取价值
【发布时间】:2021-05-27 13:06:10
【问题描述】:

我想在下一个 HTML 结构中获取名为“值”的数据

我尝试了很多方法,例如driver.find_element_by_id('date') ,但我知道这不会起作用,因为有很多同名的 id。

我在教程中看到了如何做到这一点,但在这些资源中,他们提供了非常简单的示例。在这种情况下,我不知道如何获得那个日期。

【问题讨论】:

  • 您尝试过 xpath 或 css 选择器吗?我猜你对网页的外观没有影响?
  • 我要看看这些 xpath 或 css 选择器。你为什么要问我对外表有没有影响?问题是那是我的仪表板,但它是用破折号完成的,所以是的
  • 影响我的意思是如果您开发页面并且可以更改它以使其成为正确的 HTML
  • 这看起来也像是在此页面上至少回答了十几次的重复项

标签: python html selenium


【解决方案1】:

尝试通过类名获取元素,使用get_attribute('value')获取日期值


driver.find_element_by_xpath(".//input[contains(@class,'DateInput_input')]").get_attribute("value")

【讨论】:

  • 如果有相同的物品,我该如何拿第二件。我的意思是具有相同的 html 结构?
  • 你能分享你正在谈论的元素的html吗?
  • 我添加了第二张图片,您可以在其中看到两者
  • 顺便说一句,我想那里有几个日期输入。如果是这样,我们必须在此处选择相应的“DateInput_input_1”类名
  • 看看这是否有效 - driver.find_element_by_xpath(".//input[@class='DateInput_input DateInput_input_1']").get_attribute("value")
【解决方案2】:

试试这个

driver.find_element_by_xpath('//div[@class="DateInput DateInput_1"]/input').get_attribute("value")

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 2018-10-15
    • 2010-12-05
    • 2020-05-28
    • 2018-06-18
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多