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()输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP