Selenium WebDriver 错误:AttributeError:'list' 对象没有属性 'click'


我们在进行测试时可能会遇到 Selenium webdriver 错误:AttributeError:'list' 对象没有属性 'click'。让我们看一个我们遇到此类错误的代码示例。

示例

代码实现

from selenium import webdriver
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#implicit wait
driver.implicitly_wait(0.5)
#url launch
driver.get("https://tutorialspoint.com/index.htm")
#identify an element
m = driver.find_elements_by_name('search')
m.click()
#browser quit
driver.quit()

输出

在上面的代码中,由于我们使用了 find_elements_by_name 而不是 find_element_by_name 对单个元素执行点击操作,因此我们遇到了错误。该方法 find_elements_by_name 返回一个元素列表。

此处,我们要对一个元素执行单击操作,因此 webdriver 无法识别要对其执行单击操作的元素。在这种情况下,如果我们要使用 find_elements_by_name 方法,我们必须明确指定要单击元素的索引。

示例

代码实现

from selenium import webdriver
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#implicit wait
driver.implicitly_wait(0.5)
#url launch
driver.get("https://tutorialspoint.com/index.htm")
#identify an element with find_element_by_name
m = driver.find_element_by_name('search')
m.click()
m.send_keys('Selenium')
s = m.get_attribute('value')
print('Value entered: ' + s)
#browser quit
driver.quit()

输出

更新时间:2021 年 6 月 29 日

4 千+ 浏览

开启您的职业生涯

完成该课程的学习并获得认证。

开始
广告
© . All rights reserved.