#python #selenium #web-scraping #beautifulsoup
#python #selenium #очистка веб-страниц #beautifulsoup
Вопрос:
Итак, я пытаюсь очистить этот URL https://news.detik.com/berita/d-5259113/anies-usai-diklarifikasi-polisi-penjelasan-saya-jadi-laporan-23-halaman. И то, что я хочу очистить, — это строка в span
теге.
Я хочу очистить строку «293» из этого URL. Но результатом является AttributeError: 'NoneType' object has no attribute 'text'
ошибка. И даже я использую find() для div
тега над этим span
тегом и печатаю его, результат таков None
. Это мой код:
sol = ('https://news.detik.com/berita/d-5259113/anies-usai-diklarifikasi-polisi-penjelasan-saya-jadi-laporan-23-halaman')
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver',chrome_options=chrome_options)
driver.get(sol)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
html2 = driver.page_source
soupa = BeautifulSoup(html2)
ala = soupa.find('span', {'class','comment__cmt_count_komen___12bbw'}).text
print(ala)
Любая помощь будет оценена.
Ответ №1:
Попробуйте дождаться набора номера комментариев:
from selenium.webdriver.support.ui import WebDriverWait
element = driver.find_element_by_css_selector('a.komentar > span')
WebDriverWait(driver, 10).until(lambda driver: element.text != '0 komentar')
print(element.text.rstrip(' komentar'))