出现异常:TypeError;WebElement&39;对象不可订阅 [英] Exception has occurred: TypeError 'WebElement' object is not subscriptable
本文介绍了出现异常:TypeError;WebElement&39;对象不可订阅的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,我真的是一名python新手,我只是写了一段代码来打开Whatsapp
然后你给它提供人名,然后消息发送你想要的次数。
但当我开始调试代码时,它会显示以下内容:
Exception has occurred: TypeError 'WebElement' object is not subscriptable File "E:IliyaMy CoursesPythonProjectsWhatsapp RobotWhatsapp_Bot.py", line 15, in <module> msg = driver.find_element_by_class_name('_3FRCZ')[1]
# ======================================
from selenium import webdriver
PATH = 'C:\Program Files (x86)\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.get('https://web.whatsapp.com/')
input("Please Press The 'Enter' Button... ")
name = input("Enter Person's Name: ")
msg = input("Enter The Message: ")
counter = int(input("How Many Times Do You Want To Repeat The Message?: "))
user = driver.find_element_by_xpath('//span[@title = "{}"]'.format(name))
user.click()
msg = driver.find_element_by_class_name('_3FRCZ')[1]
for i in range(counter):
msg.send_keys(msg)
button = driver.find_element_by_class_name('_1U1xa')[0]
button.click()
伙计们,请找一个擅长蟒蛇的人回答我!🙏🙏
推荐答案
Find_Element_by_Class_Name()
find_element_by_class_name()
按类名查找元素。
在代码行中:
msg = driver.find_element_by_class_name('_3FRCZ')[1]
driver.find_element_by_class_name('_3FRCZ')
将返回单个WebElement。因此,您将无法将索引附加到它,或者换句话说,使其可订阅。
解决方案
有两种解决方案:
删除索引即
[1]
您的代码将全部正常。作为替代,您需要使用
find_elements_by_class_name()
而不是driver.find_element_by_class_name()
。因此,实际上您的代码行将是:msg = driver.find_elements_by_class_name('_3FRCZ')[1]
这篇关于出现异常:TypeError;WebElement&39;对象不可订阅的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文