Python使用Selenium/PhantomJS

安装selenium:


1

pip install selenium

安装PhantomJS:


1

2

3

4

https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2

tar jxvf phantomjs-1.9.7-linux-x86_64.tar.bz2

cp phantomjs-1.9.7-linux-x86_64/bin/phantomjs /bin/

chmod 755 /bin/phantomjs

使用示例:


1

2

3

4

5

from selenium import webdriver

driver = webdriver.PhantomJS()

driver.get("http://www.baidu.com")

data = driver.title

print data

通过Remote Selenium Server:


1

2

3

4

5

6

7

8

9

10

11

12

13

from selenium import webdriver

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

driver = webdriver.Remote(

  command_executor=‘http://192.168.1.3:4444/wd/hub‘,

  desired_capabilities={‘browserName‘: ‘PhantomJS‘,

                                  ‘version‘: ‘2‘,

                                  ‘javascriptEnabled‘: True})

driver = webdriver.Remote(

   command_executor=‘http://192.168.1.3:4444/wd/hub‘,

   desired_capabilities=DesiredCapabilities.PHANTOMJS)

driver.get("http://www.baidu.com")

data = driver.title

print data

PhantomJS和Firefox速度对比:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

import unittest

from selenium import webdriver

import time

class TestThree(unittest.TestCase):

    def setUp(self):

        self.startTime = time.time()

    def test_url_fire(self):

        self.driver = webdriver.Firefox()

        self.driver.get("http://www.qq.com")

        self.driver.quit()

    def test_url_phantom(self):

        self.driver = webdriver.PhantomJS()

        self.driver.get("http://www.qq.com")

        self.driver.quit()

    def tearDown(self):

        t = time.time() - self.startTime

        print "%s: %.3f" % (self.id(), t)

        self.driver.quit

if __name__ == ‘__main__‘:

    suite = unittest.TestLoader().loadTestsFromTestCase(TestThree)

    unittest.TextTestRunner(verbosity=0).run(suite)

时间: 2024-10-16 15:40:49

Python使用Selenium/PhantomJS的相关文章

python爬虫 selenium+phantomjs动态解析网页,加载页面成功,返回空数据

废话不多说,直接说重点: 刚开始做的时候,代理IP,头部信息池,都已经做好了,使用selenium+phantomjs获取js动态加载后的源码 起初挺好的,能出来动态加载后的源码,但是运行了几次之后,电脑有点卡顿(估计是运存太小),源码就获取不到了,返回的数据 都是空数据,以至于都是出错 在做的时候一定要给页面加载之前做一个延时,以保证页面的正常加载出来,这样我们才能获取导数据 我在加载前后都做了延时等待,当然,我这个就是说这个意思,没必要仿照 可以根据自己的需求进行设置,然后源码就加载出来了,

[python爬虫] Selenium常见元素定位方法和操作的学习介绍

这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~ 前文目录: [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上) [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图 [Python爬虫] Selenium实现自动登

[Python爬虫] 之十五:Selenium +phantomjs根据微信公众号抓取微信文章

借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文名可能会有重复,同时公众号名字一定要完全正确,不然可能搜到很多东西,这样我们可以减少数据的筛选工作, 只要找到这个唯一英文名对应的那条数据即可),即发送请求到'http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&_sug_=n&

python+selenium+PhantomJS爬取网页动态加载内容

一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览器PhantomJS来抓取javascript渲染的页面,下面实现一个简单的爬取 环境搭建 准备工具:python3.5,selenium,phantomjs 我的电脑里面已经装好了python3.5 安装Selenium pip3 install selenium 安装Phantomjs 按照系统

[Python爬虫] 之九:Selenium +phantomjs抓取活动行中会议活动(单线程抓取)

思路是这样的,给一系列关键字:互联网电视:智能电视:数字:影音:家庭娱乐:节目:视听:版权:数据等.在活动行网站搜索页(http://www.huodongxing.com/search?city=%E5%85%A8%E5%9B%BD&pi=1)的文本输入框中分别输入每个关键字,在搜索结果中抓取需要的数据. 首先通过Selenium+IE驱动得到每个关键字搜索结果的url(首页,因为以后各个页的url就是索引不一样)和总页数,保存的列表里面.然后再循环列表,用Selenium +phantomj

python+selenium自动化软件测试(第6章):selenium phantomjs页面解析使用

我们都知道Selenium是一个Web的自动化测试工具,可以在多平台下操作多种浏览器进行各种动作,比如运行浏览器,访问页面,点击按钮,提交表单,浏览器窗口调整,鼠标右键和拖放动作,下拉框和对话框处理等,我们抓取时选用它,主要是Selenium可以渲染页面,运行页面中的JS,以及其点击按钮,提交表单等操作. from selenium import webdriver driver = webdriver.PhantomJS() driver.get("http://www.xxxxxx.com&

[Python爬虫] 之二十六:Selenium +phantomjs 利用 pyquery抓取智能电视网站图片信息

一.介绍 本例子用Selenium +phantomjs爬取智能电视网站(http://www.tvhome.com/news/)的资讯信息,输入给定关键字抓取图片信息. 给定关键字:数字:融合:电视 二.网站信息 三.数据抓取 针对上面的网站信息,来进行抓取 1.首先抓取信息列表 抓取代码:Elements = doc('div[class="main_left fl"]').find('div[class="content"]').find('ul').find

[Python爬虫] 之十九:Selenium +phantomjs 利用 pyquery抓取超级TV网数据

一.介绍 本例子用Selenium +phantomjs爬取超级TV(http://www.chaojitv.com/news/index.html)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信息 三.数据抓取 针对上面的网站信息,来进行抓取 1.首先抓取信息列表 抓取代码:Elements = doc('ul[class="la_list"]').find('li') 2.

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

一. 文章介绍 前一篇文章"[python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息. 用户信息:包括用户ID.用户名.微博数.粉丝数.关注数等. 微博信息:包括转发或原创.点赞数.转发数.评论数.发布时间.微博内容等. 它主要通过从文本txt中读取用户id,通过"URL+用户ID" 访问个人网站,如柳岩: http://weibo.cn/guangxianliuya 因为手机端数据相对精简简单,所以采用输