我正试图点击结果页面顶部的第一个YouTube频道。我的代码如下。
from selenium import webdriver
!pip install webdriver-manager
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome('D:chromedrivechromedriver.exe')
keyword=['"K_Pop TV"']
for kk in keyword:
driver.get("http://youtube.com")
#input keyword
driver.find_element_by_name("""search_query""").send_keys(kk)
#search
driver.find_element_by_id("search-icon-legacy").click()
time.sleep(2)
#click the first channel on result page
driver.find_elements_by_id('avatar').click()
然而,我一直在显示"的错误list'对象没有属性'click'";,这可能意味着它找不到信道接入的元素。有人能帮帮我吗?
此错误'list' object has no attribute 'click
是因为您使用的find_elements
将返回web元素列表。
Python中的列表没有.click()
方法
而是使用find_element
,它将返回单个web元素。
因此,对现有代码进行以下更改:
driver.find_element_by_id('avatar').click()