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

在Python中用Selenium执行JavaScript

时间:2017-08-12 16:14:10      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:head   phantomjs   网站   blog   page   网络爬虫   rom   path   color   

Selenium自己不带浏览器, 需要与第三方浏览器结合在一起使用.例如在Firefox上运行Selenium.

PhantomJS是一个"无头"浏览器. 它会把网站加载到内存并执行页面上的JavaScript, 但是它不会向用户展示网页的图形界面. 把Selenium和PhantomJS结合在一起, 就可以运行一个非常强大的网络爬虫了, 可以处理cookie, JavaScript,header, 以及任何你需要做的事.

Selenium可以从PyPI网站(https://pypi.python.org/simple/selenium)下载Selenium库, 也可以用pip安装.

PhantomJS可以从官网下载(http://phantomjs.org/download.html) , PhantomJS不是一个Python库,不能用pip安装.

1 from selenium import webdriver
2 import time
3 
4 driver = webdriver.PhantomJS(executable_path= )
5 driver.get("http://pythonscraping.com/pages/javascript/ajaxDemo.html")
6 time.sleep(3)
7 print(driver.find_element_by_id(content).text)
8 driver.close()

executable_path变量值为phantomjs.exe的路径. 如: executable_path = ‘/download/phantomjs-2.1.1-windows/bin/phantomjs‘

selenium的选择器都是用了非常直截了当的名称, 上面的例子, 也可以用如下的选择器:

driver.find_element_by_css_selector("#content")

driver.find_element_by_tag_name("div")

另外, 如果你还是想用BeautifulSoup来解析网页内容, 可以用WebDriver的page_source函数返回页面的源代码字符串.

1 pageSouce = driver.page_source
2 bsObj = BeautifulSoup(pageSource)
3 print(bsObj.find(id="content").get_text())

 

在Python中用Selenium执行JavaScript

标签:head   phantomjs   网站   blog   page   网络爬虫   rom   path   color   

原文地址:http://www.cnblogs.com/CoolJayson/p/7350432.html

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