爬虫之动态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

08.Python网络爬虫之图片懒加载技术selenium和PhantomJS

爬虫技术之Selenium

selenium爬虫之爬取疫情实时动态

python爬虫从入门到放弃之 Selenium库的使用