Je veux activer la boîte de commentaire dans YouTube pour laquelle j'ai besoin de faire défiler vers le bas.
Voici ce que je fais en ce moment: -
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.youtube.com/watch?v=l5LfjYmNEJs&t=160s")
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
3 Réponses :
J'ai trouvé une solution.see si cela aide. temps.sleep code> est requis pour ralentir tout en boucle. from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("https://www.youtube.com/watch?v=l5LfjYmNEJs&t=160s")
while(True):
height = driver.execute_script("return document.body.scrollHeight")
time.sleep(1)
driver.find_element_by_tag_name('body').send_keys(Keys.END)
if int(height)==0:
break
La réponse de Kunduk est géniale! Mais n'a pas fermé pour moi dans height = driver.execute_script("return document.documentElement.scrollHeight(window.innerHeight + window.scrollY);")
Une réponse de confiance en vous n'a pas fonctionné pour moi. Mais cela a fonctionné.
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.youtube.com/c/klikklak/videos")
while True:
scroll_height = 2000
document_height_before = driver.execute_script("return
document.documentElement.scrollHeight")
driver.execute_script(f"window.scrollTo(0, {document_height_before
+ scroll_height});")
time.sleep(1.5)
document_height_after = driver.execute_script("return
document.documentElement.scrollHeight")
if document_height_after == document_height_before:
break
Dupliquer possible Stackoverflow.com/Questtions/20986631/...
@Kajalkundu J'ai vu cette réponse avant cette question. Mon problème est que le code ci-dessus fonctionne dans presque tous les sites sauf YouTube.
C'est plus d'une question javascript. Peut-être que vous pouvez essayer:
pilote.execute_script ("document.getElementByID (" Footer-Links -Secondaire "). Scrolli NtoView ();") code>@Ardweaden I a exécuté le code Il donne l'erreur suivante -
selenium.common.exceptions.webdriveception: message: erreur inconnu: impossible de lire la propriété 'ScrollintOView' de null code>Ah, désolé, je l'ai essayé sur la page principale au lieu de la page vidéo. Il n'ya peut-être pas d'élément avec cet identifiant sur ce dernier. Que diriez-vous de
pilote.execute_script ("document.getelementByID (" Footer-Links ") .ScrollinToView ();") code>?@Ardweaden, il donne toujours la même erreur. Je pense que le problème est avec
ScrollINTOView code>?Non, la question est qu'il n'y a pas d'élément comme ça. J'ai vérifié avec sélénium sur mon ordinateur et je peux le voir n'a pas de pied de page. Cela fonctionnerait avec l'ancienne mise en page YouTube.