python - 在 YouTube 上搜索并返回 Python 中的所有链接

标签 python selenium youtube webdriver webdriverwait

在 YouTube 上,我想搜索某些视频(即 Python 上的视频),然后我想返回此搜索返回的所有视频。现在,如果我尝试使用此 Python 返回起始页上的所有视频,而不是搜索后的页面上的所有视频。

当前代码:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("http://youtube.com")
driver.find_element_by_name("search_query").send_keys("Python")
driver.find_element_by_id("search-icon-legacy").click()
links = driver.find_elements_by_id("video-title")
for x in links:
    print(x.get_attribute("href"))

这里出了什么问题?

最佳答案

但最好为此使用显式等待:

links = ui.WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.ID, "video-title")))

Reference .

希望对你有帮助!

关于python - 在 YouTube 上搜索并返回 Python 中的所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54551218/

相关文章:

python - 为什么类对象中的 tf.Variable 初始化失败?

java - 使用 java 和 apache poi 读取 excel 时获取未知字符

youtube - 如果 channel 具有自定义网址,如何使用Youtube数据API获取Youtube channel 详细信息

python - 线性回归 ODR 失败

python - 在数组中查找最小值 > 0

python - 列表推导式然后用 for 循环求和

java - 与最新版本 Selenium Webdriver 和 PhantomJs 的兼容性问题

Python Selenium Webdriver - 动态更改下载目录

iframe - YouTube iFrame API - 全屏按钮在 IE 中不起作用 - 单击后变为灰色(禁用)

ios - 获取适用于 iOS 的 YouTube 视频说明 (YouTube API)