首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么`driver.find_elements_by_class_name().click()`会导致` `AttributeError:'list‘对象没有’click‘属性?

driver.find_elements_by_class_name()方法返回的是一个列表(list)对象,而列表对象没有click属性。因此,当调用click()方法时会导致AttributeError异常。

解决这个问题的方法是使用driver.find_element_by_class_name()方法,该方法返回的是一个元素对象,而元素对象具有click属性,可以直接调用click()方法实现点击操作。

示例代码:

代码语言:txt
复制
element = driver.find_element_by_class_name("class_name")
element.click()

其中,"class_name"是要查找的元素的类名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python selenium根据cla

`(*∩_∩*)′ 这个例子中,最外层的div就没有id属性,此时,可以基于class属性来定位元素。...此时driver.find_elements_by_class_name("classname")  就可以派上用场了,该方法可以返回的是一个list列表,那么所有针对list的方法在它上面都同样适用。...比如,如果我们知道想要定位的元素在页面中是第n个,则可以这样定位: 二、 driver.find_elements_by_class_name("classname")[n]   (注意:是elements...,不是element) 需要注明的是,使用上述方法,即使这网页中样的元素只有一个,得到的依旧是一个list对象,只不过长度为1....内置了很多函数,在某些场合中你可能就需要依靠这种灵活性,"灵活"就不可避免的带来复杂性。

67510
  • Selenium元素定位

    ; driver.find_element_by_id("su").click()#通过id属性定位“百度一下”查询按钮; time.sleep(2) driver.quit() find_element_by_name...,所以返回的是一个list队列.我们可以通过选择具体第几个元素进行单个元素定位; 百度首页右上角有新闻、hao123、地图、视频、贴吧、学术一些文字链接,查看源码可以发现,这些链接都有共同的class,...这样你就可以通过元素的属性值判断你要定位的元素: driver.find_elements_by_class_name("mnav")[0].click()#点击“新闻”; driver.find_elements_by_class_name...("mnav")[1].click()#点击“hao123”; driver.find_elements_by_class_name("mnav")[2].click()#点击“地图”; driver.find_elements_by_class_name...("mnav")[3].click()#点击“视频”; driver.find_elements_by_class_name("mnav")[4].click()#点击“贴吧”; driver.find_elements_by_class_name

    1.1K10

    Selenium元素定位的30种方式(史上最全)

    上面这些使用的前提是需要导入By类:from selenium.webdriver.common.by import By 最简单粗暴却失传已久的8种定位 据说这种定位方式在江湖上都快要失传了,实在想不通为什么...,所以返回的是一个list队列,我们也可以利用这个去定位单个的元素。...举个例子,比如定位排在第六个的学术,可以这样定位:driver.find_elements_by_class_name(“mnav”)[5].click() 还可以通过css的复数定位写法:driver.find_elements...Element返回是单个对象,其他都是Elements返回的是一个list这点千万要注意,具体用法和上面的webdriver基础定位一样。...driver.execute_script(button_js2) 以上分别结合常用的四种js定位方式写了四条js语句,然后要执行的就execute_script一下就好啦~ 超神的jQuery定位 据说jQuery

    3.9K20

    爬取24w+弹幕信息后,我果断去追剧了

    第四个花括号为子文件序号,其不是一个无穷大的数,根据不同的电视剧有不同的最大数。 ? 获取弹幕文件 可以利用浏览器通过url直接请求,并获取结果。 ? 输入网址可获取弹幕内容的压缩文件文件。 ?...,则此对象也可以被用于初始化 bytearray; 若没有输入任何参数,默认就是初始化数组为0个元素。...BeautifulSoup网页解析器 借助网页的结构和属性来解析网页,如果还不清楚的小伙伴可以跳转《网络爬虫 | Beautiful Soup解析数据模块》充电。...res_list = pattern.findall(text_list[t]) if not res_list: pass else...: tvid = res_list[0] return tvid 充电时刻 ---- Requests-HTML模块 为requests增强版模拟真实浏览器向URL发送网络请求

    92441

    移动端的touch事件处理

    关于这个事件的确切出发时间,文档中并没有具体说明,咱们只能去猜测了。触摸事件还包含下面三个用于跟踪触摸的属性       touches:表示当前跟踪的触摸操作的touch对象的数组。  ...而item方法,也跟我们在NodeList,HTMLCollection对象中的一样吧,获取第n个对象,只是我们大多数仍然喜欢使用数组的方式进行操作吧。...targetTouches属性,却是要只有在被绑定的元素本身之上触发,才会被保存到targetTouches属性中去,因为之前的demo里,是把touchstart事件绑定到了document对象上,所以导致属性获取的值域...而changedTouches却可以获取到这个触点的touch对象为什么?...属性属性值,是不会再包含这个刚离开的触点的信息的,所以,当一个触点触发touchend事件时,touches和targetTouches属性值中的touch对象个数就是0了,表示当前一个触点也没有

    1.7K20

    一周精通Vue(一)

    :src='' 内容支持变量、数组、对象、方法、以及表达式 v-on: 绑定事件 (v-on:click)可以缩写为(@click) 支持所有事件 $event: @click(prm,...$event) $event默认写法 接收浏览器产生的event对象 stop修饰符: @click.stop 可以阻止事件冒泡 prevent修饰符: @click.prevent 阻止...因为index 是每次变化的 如果往list里插入一个值 那么所有的 index重新排序做改变 而绑定item内的数据 则不受排序影响 所以性能更好 一般而言key绑定一个唯一值 v-if:...模板分离写法 组件内容访问Vue实例数据 默认组件内部是不能直接访问Vue实例内的数据内容的 在组件的内部会有一个data属性 而这个data属性必须是一个函数 返回一个对象对象内部保存着数据...为什么组件内的data必须是一个函数?

    61720

    全网最全关于selenium webdriver 8大元素定位详解

    driver.get("http://localhost:8080/login") time.sleep(5) print(EC.title_contains("登录")) user_name2 = driver.find_elements_by_class_name...find_elements_by_class_name("van-field__control").send_keys("188****7063") Xpath层级与逻辑定位 在工作中,我们用xapth的相对路径定位非常多...=值 and @属性=值 and contains(@属性/text(), 值) and text()=值 5、层级定位://一级元素//二级元素//......1、find_element_by_css_selector() 2、#id id选择器根据id属性来定位元素 3、.class class选择器,根据class属性值来定位元素 4、[attribute...frame对象代表了一个HTML的内联框架,如果你在自动化测试中无法定位到元素,那么最大的可能就是元素在frame框架中。

    1.3K10

    08 Python爬虫之selenium

    - 如何实现懒加载数据技术:     -- 在网页源码中,在img标签中首先会使用一个‘伪属性’(通常是src2,original等)去存放真正的图片链接,而不是直接存放在src属性中。...当图片出现到页面可视化区域中,会将伪装属性替换成src属性,完成图片加载。...//option[3]').click() 21 sleep(2) 22 23 # 点击保存设置 24 driver.find_elements_by_class_name("prefpanelgo"...3) 14 browser.quite() 动作链 上方示例中,一些交互动作都是针对某个节点执行的.如:输入框,我们就调用它的输入文字和清空文字的方法;对于按钮,就调用它的点击方法.有的操作,它们没有特定的执行对象...yoffset=0).perform() 17 time.sleep(0.5) 18 19 actions.release() 执行JavaScript 对于某些操作,SeleniumAPI并没有提供

    1K20
    领券