爬虫之动态HTML处理(Selenium与PhantomJS )执行 JavaScript 语句
Posted 林深时见鹿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫之动态HTML处理(Selenium与PhantomJS )执行 JavaScript 语句相关的知识,希望对你有一定的参考价值。
执行 javascript 语句
1.隐藏百度图片
from selenium import webdriver
import time
driver = webdriver.PhantomJS()
driver.get("https://www.baidu.com/")
# 给搜索输入框标红的javascript脚本
js = "var q=document.getElementById(\"kw\");q.style.border=\"2px solid red\";"
# 调用给搜索输入框标红js脚本
driver.execute_script(js)
#查看页面快照
driver.save_screenshot("redbaidu.png")
#js隐藏元素,将获取的图片元素隐藏
img1 = driver.find_element_by_xpath("//*[@id=‘lg‘]/img")
driver.execute_script(‘$(arguments[0]).fadeOut()‘,img1)
#重要(如果不等待可能导致JS没有加载完而获取不到想要的页面)
time.sleep(10)
print (‘===========‘)
# # 向下滚动到页面底部
driver.execute_script("$(‘.scroll_top‘).click(function(){$(‘html,body‘).animate({scrollTop: ‘0px‘}, 800);});")
#查看页面快照
driver.save_screenshot("nullbaidu.png")
driver.quit()
2.模拟滚动条滚动到底部
from selenium import webdriver
import time
driver = webdriver.PhantomJS()
driver.get("https://movie.douban.com/typerank?type_name=剧情&type=11&interval_id=100:90&action=")
# 向下滚动10000像素
js = "document.body.scrollTop=10000"
#js="var q=document.documentElement.scrollTop=10000"
time.sleep(3)
#查看页面快照
driver.save_screenshot("douban.png")
# 执行JS语句
driver.execute_script(js)
time.sleep(10)
#查看页面快照
driver.save_screenshot("newdouban.png")
driver.quit()
以上是关于爬虫之动态HTML处理(Selenium与PhantomJS )执行 JavaScript 语句的主要内容,如果未能解决你的问题,请参考以下文章
爬虫之动态HTML处理(Selenium与PhantomJS )执行 JavaScript 语句
爬虫学习 08.Python网络爬虫之图片懒加载技术selenium和PhantomJS