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

輸出

更新時間:2021 年 6 月 29 日

4 千+ 瀏覽

開啟您的職業生涯

完成該課程的學習並獲得認證。

開始
廣告