Я пытаюсь почистить средние посты и содержание. Все в порядке, код тоже запускается и открывает браузер по указанному URL. Но на экране вывода на нем должны были отображаться название сообщения, содержание, имя автора и другие материалы для печати.
Все имена классов также верны.
Тогда я подумал, что это может быть из-за бесконечного динамического содержимого, но я установил ограничение на вывод переменной, все еще не показывая вывод.
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.common.exceptions import TimeoutException
option = webdriver.ChromeOptions()
browser = webdriver.Chrome(executable_path=r"C:/Users/Jai
Sipani/Downloads/chrome_driver/chromedriver.exe",
chrome_options=option)
browser.get("https://medium.com/topic/startups")
# Wait 60 seconds for page to load
timeout = 60
try:
WebDriverWait(browser,
timeout).until(EC.visibility_of_element_located((By.XPATH,
"//img[@class='n dx dy dz ea ed y']")))
except TimeoutException:
print("Timed out waiting for page to load")
browser.quit()
find_elements_by_xpath возвращает массив объектов селена.
titles_heading = browser.find_elements_by_class_name("ar aj da bc db bd
em gb gc at aw eo dg dh av")
titles_heading = titles_heading[:10]
titles = [x.text for x in titles_heading]
print('titles:')
print(titles, '\n')
titles_desc = browser.find_element_by_class_name("bh bi bc b bd be bf bg
at aw dj dg dh av ef ep")
titles_desc = titles_desc[:10]
desc = [i.text for i in titles_desc]
print('desc:')
print(desc, '\n')
authors = browser.find_element_by_class_name("bc b bd be bf bg at aw dj
dg dh av ar aj")
authors = authors[:10]
author = [x.text for x in authors]
print('author: ')
print(author, '\n')
timeline = browser.find_element_by_class_name("fg ae fh")
timeline = timeline[:10]
time = [x.text for x in timeline]
print('time: ')
print(time, '\n')
for title, desc, author, time in zip(titles, titles_desc, authors,
timeline):
print("Title : title_Desc : authors : timeline")
print(title + ": " + desc + ": "+ author + ": " + time, '\n')
Я ожидал, что результатом будет список печатных постов и контента, но не получил. Скрипт отлично работает с закрытием сессии через 60 сек.