【问题标题】:Click CSS Element with Selenium and python单击带有 Selenium 和 python 的 CSS 元素
【发布时间】:2020-08-23 16:58:44
【问题描述】:

我正在尝试使用 Selenium 单击按钮。

下面是代码

<button class="_11f5fc88e3dec7bfec55f7f49d581d78-scss _238c8d0c29802f43d5fb66614d042cfa-scss" title="Play" aria-label="Play" data-testid="play-button" style xpath="1">

我尝试通过 css 选择器来做到这一点:

searchButton = browser.find_elements_by_css_selector('[class="_11f5fc88e3dec7bfec55f7f49d581d78-scss _238c8d0c29802f43d5fb66614d042cfa-scss"]').click()

我的错误:AttributeError:'list' 对象没有属性'click'

我是不是搞错了?我不明白这个错误。

【问题讨论】:

  • 这不是一个有效的 CSS 选择器。要获取 CSS 选择器,请在元素上单击鼠标右键(
  • @CarMan 以下答案是否解决了您的问题?如果是,请随时点击 图标接受正确答案。

标签: python selenium


【解决方案1】:

参考这个链接了解如何使用不同的选择器..
https://selenium-python.readthedocs.io/locating-elements.html

建议通过检查网站上的特定元素然后鼠标右键单击 -> 复制 -> 复制 css 路径来复制 css 选择器路径

或者通过分析代码手动输入路径

这里p是段落标签,类名是内容

element = driver.find_element_by_css_selector('p.content')

【讨论】:

    【解决方案2】:

    AttributeError: 'list' 对象没有属性 'click'

    出现这个错误是因为你使用.find_elements,它会返回一个列表。

    要解决此问题,请尝试以下方法:

    1. 使用.find_element,不使用s
    2. 或者仍然使用.find_elements但带有索引,像这样:
    browser.find_elements_by_css_selector('[class="_11f5fc88e3dec7bfec55f7f49d581d78-scss _238c8d0c29802f43d5fb66614d042cfa-scss"]')[0].click()
    

    【讨论】:

      猜你喜欢
      • 2016-02-19
      • 1970-01-01
      • 2015-01-17
      • 2015-03-08
      • 2016-11-14
      • 1970-01-01
      • 2022-01-19
      • 2019-01-13
      • 1970-01-01
      相关资源
      最近更新 更多