码迷,mamicode.com
首页 > 编程语言 > 详细

爬虫之动态HTML处理(Selenium与PhantomJS )执行 JavaScript 语句

时间:2017-03-07 08:11:35      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:interval   nts   执行   ntb   find   爬虫   int   .exe   body   

执行 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 语句

标签:interval   nts   执行   ntb   find   爬虫   int   .exe   body   

原文地址:http://www.cnblogs.com/wzjbg/p/6512598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!