搜索一个频道后,如何点击 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()
我正在尝试点击结果页面顶部的第一个 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()