Согласно Невозможно получить данные с pantip.com , я пытался получить данные с pantip.com, включая все комментарии и ответы на каждый комментарий.
У меня проблема с получением ответа на каждый комментарий.Я использую селен, чтобы нажать на кнопку, чтобы получить текст внутри.Однако это работает, только если я прокручиваю страницу до местоположения кнопки.
Если я не прокручиваю, возникает ошибка.
WebDriverException: unknown error: Element <a href="javascript:void(0)" class="reply see-more">...</a> is not clickable at point (518, 507). Other element would receive the click: <select class="dropdown-jump">...</select>
(Session info: chrome=71.0.3578.98)
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.17134 x86_64)
Есть ли способ получить данныевнутри?Нужно ли прокручивать до кнопок?Пожалуйста, предложите мне.
import requests
import re
from bs4 import BeautifulSoup
from selenium import webdriver
chrome_path = r"C:\Users\user\Downloads\chromedriver_win32\chromedriver.exe"
url='https://pantip.com/topic/38372443'
driver = webdriver.Chrome(chrome_path)
driver.get(url)
content=driver.page_source
soup=BeautifulSoup(content,'lxml')
#Click all buttons
for div in soup.find_all("div", id = lambda value: value and value.startswith("reply-comment-")):
xPath = '''//*[@id="''' + str(div['id']) + '''"]/a'''
button = driver.find_element_by_xpath(xPath).click()
# Get all comments
text = list()
for div in soup.find_all("div", id = lambda value: value and value.startswith("comment-")):
if len(str(div.text).strip()) > 1:
text.append(str(div.text).strip())
driver.quit()