搜索一个频道后,如何点击 YouTube 中带有 python 的第一个频道?

How can I click first channel in YouTube with python after searching one?

我正在尝试点击结果页面顶部的第一个 YouTube 频道。我的代码如下。

from selenium import webdriver
!pip install webdriver-manager
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome('D:\chromedrive\chromedriver.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' object has no attribute 'click'”的错误,这可能是找不到通道访问的元素。有人可以帮助我吗?

此错误 'list' object has no attribute 'click 是因为您使用的 find_elements 将 return 网络元素列表。

Python 中的列表没有 .click() 方法

改用 find_element,这将 return 一个单独的网络元素。

因此请对现有代码进行以下更改:

driver.find_element_by_id('avatar').click()