繁体   English   中英

使用python和硒进行网络抓取时与JavaScript对象进行交互

[英]Interacting with JavaScript object when web scraping with python and selenium

我正在尝试加载更多评论,这是通过单击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'..均无效。 提前非常感谢您的回答。

我需要添加

element.click()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM