selenium实践
爬取某评论页面
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(3)
driver.get("http://XXXX/")
time.sleep(3)
for i in range(0,3):
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);") #下滑到页面底部
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']")) #转换iframe,再到查看更多
load_more = driver.find_element_by_css_selector("button.morebtn")
load_more.click()
driver.switch_to.default_content() #把iframe转回去
time.sleep(3)
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
comments = driver.find_element_by_css_selector("div.reply-content")
for eachcomment in comments:
content = eachcomment.find_element_by_tag_name("p")
print(content.text)
使用for循环把所有的评论加载出来,使用driver.execute_script(“window.scrollTo(0,document.body.scrollHeight);”),下滑到页面底部,会出现“+10”查看更多的元素。
然后使用driver.switch_to.iframe()解析iframe,使用driver.find_element_by_css_selector(“iframe[title=‘livere’]”)找到该元素,让后使用.click()方法单击模拟并加载。解析iframe后,需要使用 driver.switch_to.default_content(),转回原页面
注上述地址有误,需要自己填写,修改源码。