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.tw/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.tw/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