【问题标题】:How can I find classes with underscores in them using Selenium?如何使用 Selenium 找到带有下划线的类?
【发布时间】:2020-04-15 10:40:58
【问题描述】:

正如问题所暗示的那样,我正在抓取一个包含下划线的类名的网页,我无法找到它。元素如下

<span class="s-item__time-left">30m</span> == $0

我尝试通过类名找到它

time = driver.find_elements_class_name("s-item__time-left")

这只是没有返回任何东西,所以我转向了 css 选择器

time = driver.find_element_by_css_selector("s-item__time-left")

我尝试了上述各种方法,只有一个“。”替换 2 个下划线并用 2 个点替换下划线。这两个也没有返回任何内容。

我没有可以使用的唯一 ID,它们不断变化,所有父类也使用多个下划线,所以我无法通过子元素找到它。

感谢任何建议!

【问题讨论】:

    标签: python html selenium web-scraping element


    【解决方案1】:

    您的css selector 错误。应该是.classname

    立即尝试。

    time =driver.find_element_by_css_selector(".s-item__time-left")
    print(time.text) 
    

    【讨论】:

      【解决方案2】:

      尝试使用 XPATH:driver.find_element_by_xpath('//span[@class="s-item__time-left"]')

      【讨论】:

        猜你喜欢
        • 2016-12-03
        • 1970-01-01
        • 2022-10-16
        • 2017-06-12
        • 1970-01-01
        • 2014-07-07
        • 2021-09-19
        • 1970-01-01
        • 2016-01-05
        相关资源
        最近更新 更多