Python 从元素中刮取文本时出现问题
我想提取yt上一段视频的标题 这是我想出的代码:Python 从元素中刮取文本时出现问题,python,selenium,Python,Selenium,我想提取yt上一段视频的标题 这是我想出的代码: from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC def get_ti
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def get_title():
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '/html/head/title')))
element = driver.find_element_by_xpath('/html/head/title').text
return str(element)
def start(word):
driver.get('https://www.youtube.com/results?search_query='+ word)
driver.find_element_by_xpath('/html/body/ytd-app/div/ytd-page-manager/ytd-search/div[1]/ytd-two-column-search-results-renderer/div/ytd-section-list-renderer/div[2]/ytd-item-section-renderer/div[3]/ytd-video-renderer[1]/div[1]/ytd-thumbnail/a').click()
word = input()
start(word)
title = get_title()
print(title)
但我只收到一条空白的文字。。。
有人能帮帮我吗,泰
def get_title():
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '/html/head/title'))).get_attribute('textContent')
return str(element)
这将是对代码的简单修复,以获得一个不可见的元素。但是您应该使用driver.title来获取标题值。当您使用搜索加载youtube时,标题将作为youtube搜索文本出现,几秒钟后youtube将播放第一个视频。因此,标题在几秒钟内改变 试试这个:
def get_title():
time.sleep(5)
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '/html/head/title')))
return driver.find_element_by_xpath('/html/head/title').get_attribute("innerHTML")
它只是一直在等待,我想它找不到元素您使用了什么值作为输入。我现在从我的值中获取了值,有时单击不起作用,所以切换到等待。