【问题标题】:Element not interactable error in python ,seleniumpython,硒中的元素不可交互错误
【发布时间】:2021-06-09 19:10:24
【问题描述】:

代码:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome(r"C:\Users\Desktop\chromedriver.exe")
browser.get('https://www.youtube.com/')
browser.maximize_window()
search = browser.find_element_by_name('search_query')
time.sleep(5)
search.send_keys("shakira waka waka")
search.send_keys(Keys.RETURN) 
time.sleep(5) 

browser.find_element_by_class_name("style-scope yt-img-shadow").click()

朋友们,您好,我希望通过在 youtube 搜索部分中搜索歌曲名称和歌手名称并单击其后的图像来播放视频。但是程序给出了“元素不可交互”的错误。如何通过点击传入的图片来播放视频?

【问题讨论】:

    标签: python-3.x selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    试试下面的代码:

    driver = webdriver.Chrome()
    driver.maximize_window()
    wait = WebDriverWait(driver, 10)
    driver.get('https://www.youtube.com/')
    wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[id='search']"))).send_keys("shakira waka waka")
    wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[id='search-icon-legacy']"))).click()
    wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ytd-video-renderer.style-scope.ytd-item-section-renderer"))).click()
    

    【讨论】:

    • 不幸的是,程序给出了 TimeoutException。我想知道它是否真的可以是一个通用代码例如歌手的名字+歌曲的名字>在 YouTube 上搜索找到歌曲的图片>点击相关歌曲的图片>播放视频
    • 这令人惊讶,因为它在我的机器上运行良好。这是通用代码,您只需更改 send_keys("shakira waka waka") 部分 - 您可以提供任何歌手姓名 + 歌曲名称.. 应该不是问题.. 我已经编辑了我的代码,请再试一次
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    相关资源
    最近更新 更多