Взаимодействие с объектом JavaScript при просмотре веб-страниц с использованием Python и Selen - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь загрузить больше комментариев, которые загружаются нажатием на объект JavaScript.Затем удалите страницу.Чтобы проверить это, я печатаю количество комментариев (внутри тега ap), которые содержит страница до и после нажатия на кнопку «загрузить еще».Но он указывает одинаковое количество тегов p до и после.Если вы посмотрите на страницу, на ней будет гораздо больше комментариев.Куда я иду не так?

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
import time

driver = webdriver.PhantomJS(executable_path='PATH_TO.../phantomjs')
driver.get('http://www.ratemyprofessors.com/ShowRatings.jsp?tid=1500075')

comments = driver.find_elements_by_tag_name('p')
print('Before', len(comments))

time.sleep(1)


try:
    element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'loadMore')))
    time.sleep(1)

finally:
    comments = driver.find_elements_by_tag_name('p')
    print('After', len(comments))

driver.close()

Обратите внимание, что я пробовал 'loadMore' и 'loadmoreBlog' .. не работает.Большое спасибо заранее за ваши ответы.

1 Ответ

0 голосов
/ 13 июня 2018

Мне нужно было добавить

element.click()
...