1
from selenium import webdriver 
from time import sleep 
driver = webdriver.Chrome() 
video = "YzmI5F_Yu1o" 

driver.execute_script("window.open('about:blank');") 
driver.switch_to_window(driver.window_handles[1]) 
driver.get("https://www.youtube.com/v/" + video) 
title = driver.find_element_by_css_selector('.ytp-title-link.yt-uix-sessionlink') 

戻りセレンPythonのCSSセレクタが要素に

Traceback (most recent call last): 
    File "C:\Users\Gebruiker\Documents\playlist.py", line 36, in <module> 
    add_yt("YzmI5F_Yu1o") 
    File "C:\Users\Gebruiker\Documents\playlist.py", line 33, in add_yt 
    title = driver.find_element_by_css_selector('.ytp-title-link.yt-uix-sessionlink') 
    File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 498, in find_element_by_css_selector 
    return self.find_element(by=By.CSS_SELECTOR, value=css_selector) 
    File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 832, in find_element 
    'value': value})['value'] 
    File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 297, in execute 
    self.error_handler.check_response(response) 
    File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".ytp-title-link.yt-uix-sessionlink"} 
    (Session info: chrome=60.0.3112.101) 
    (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.1.7601 SP1 x86_64) 

を見つけることができません基本的に、それも、CSSセレクタ.ytp-タイトルlink.yt-UIX-sessionlink持つ要素がないことを言います明らかにそこにある。

要素私は戻そうとしています。

<a class="ytp-title-link yt-uix-sessionlink" target="_blank" data- 
 
    sessionlink="feature=player-title" href="https://www.youtube.com/watch? 
 
    v=YzmI5F_Yu1o">Marco Borsato - Mooi (official video)</a>

+1

は、あなたのHTMLコードスニペットも –

+0

を追加することができ、私は今、それを行います:) – Treehee

+0

リンクhttps://www.youtube.com/v/YzmI5F_Yu1oにアクセスすると、ファイルが直接ダウンロードされます。あなたは実際に何をしたいですか?手動の手順は何ですか? – Kapil

答えて

0

だけiframeたいembed要素に切り替えて、必要なテキストを取得しよう:

driver.switch_to.frame(driver.find_element_by_xpath('//embed')) 
title = driver.find_element_by_xpath('//a[@data-sessionlink="feature=player-title"]').text 
+0

これは技術的には機能しますが、質問。 – Treehee

+0

@Andersson - フレーム名が//埋め込まれていることを知る方法を教えてください。 –

+0

@ShubhamJain、iframeの名前ではなく、タグ名 – Andersson

関連する問題