2016-07-29 7 views
0

Я хочу, чтобы очистить видео название этого link, так как это «Insane Woman Goes Crazy On Guy Who Just Wants A Refund».Очистить заголовок видео с использованием selenium python3

код на паутине:

<span id="eow-title" class="watch-title" dir="ltr" title="Insane Woman Goes Crazy On Guy Who Just Wants A Refund"> 
Insane Woman Goes Crazy On Guy Who Just Wants A Refund 

Я делаю таким образом:

browser = webdriver.Firefox() 
browser.get("https://www.youtube.com/watch?v=POk-uOQSJVk") 
head = browser.find_elements_by_class_name('watch-title') 
print(head.text) 

Это побуждает как:

AttributeError: 'list' object has no attribute 'text'

Есть что-то не так?

ответ

0

Прежде всего, find_elements_by_class_name() methodвозвращает список WebElement s, а вам нужен только один. Кроме того, вам нужно let the page load until the desired element is present:

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 


browser = webdriver.Firefox() 
browser.get("https://www.youtube.com/watch?v=POk-uOQSJVk") 

# wait for the presence of the video title 
element = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, "eow-title")) 
) 
print(element.text) 

browser.close() 

Печать:

Insane Woman Goes Crazy On Guy Who Just Wants A Refund 
+0

Вау .. Booommm ... Доходило дорогие ... 3 минуты осталось для принятия ответа. – user6575792

+0

также работает. 'head = browser.find_elements_by_class_name ('watch-title') для канавы в голове: print (ditch.text)' – user6575792

Смежные вопросы