python - 如何点击 YouTube 频道页面上的“关于”按钮?
问题描述
但是,在我运行以下代码后,Chrome 并没有显示“关于”信息。
! pip install selenium
from selenium import webdriver
! pip install beautifulsoup4
from bs4 import BeautifulSoup
import time
import requests
import random
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('D:\chromedrive\chromedriver.exe')
keyword=['"K_Pop TV"']
for kk in keyword:
driver.get("http://youtube.com")
#enter 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
driver.find_element_by_css_selector('div#avatar.style-scope.ytd-channel-renderer').click()
time.sleep(2)
#click "ABOUT"
driver.find_element_by_css_selector('tp-yt-paper-tab.style-scope.ytd-c4-tabbed-header-renderer').click()
Chrome 在 YouTube 频道页面的“HOME”暂停。它没有继续显示“关于”。请帮我。
解决方案
您使用的定位器不是唯一的。
试试这个:
driver.find_element_by_xpath('(//div[@class="tab-content style-scope tp-yt-paper-tab"])[last()]').click()
它是独一无二的,而不是基于也可以更改的文本
推荐阅读
- javascript - 为什么将空字符串传递给被认为是真实的 Vue 组件布尔道具?
- c - 在 CS50 Pset4 反射中找不到什么问题?
- dataframe - 将数据框拆分为特定列的四分位数
- javascript - 当我使用 nonce 时,为什么我不能绕过我的 CSP 在 nunjucks 中阻止我的 javascript 代码
- python - 值来自行总和的新列(python)
- mysql - MYSQL 没有重复的 2 个值
- python - 提示:向“CustomUser.user_permissions”或“User.user_permissions”的定义添加或更改相关名称参数
- docker - 如何使用 Docker for Windows 和 WSL2(Windows 10 v.2004)在 Docker 组合中使用命名卷绑定
- python - Pytorch的backward()的任何Tensorflow等价物?尝试将梯度发送回 TF 模型以进行反向传播
- ruby-on-rails - Git 克隆 Heroku 应用程序 - 应用程序已过期