Selenium PhantomJS

盘点selenium phantomJS使用的坑 说到python爬虫,刚开始主要用urllib库,虽然接口比较繁琐,但也能实现基本功能。等见识了requests库的威力后,便放弃urllib库,并且也不打算回去了。但对一些动态加载的网站,经常要先分析请求,再用requests模拟,比较麻烦。直到遇到了selenium库,才发现爬动态网页也可以这么简单,果断入坑! selenium是python的一个第三方自动化测试库,虽然是测试库,却也非常适合用来写爬虫,而phantomJS是其子包webdriver下面的一个浏览器。phantomJS本身是一个无头浏 阅读详情

一、Selenium

1.介绍

selenium: 美 [sɪˈliniəm] 硒

selenium 是web的一种自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是 Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括 PhantomJS 这些无界面的浏览器)。

Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。
Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS的工具代替真实的浏览器。

2.安装

(1)从PyPI网站下载Selenium 库

https://pypi.python.org/simple/selenium

(2)pip 安装

pip install selenium==2.48.0


二、PhantomJS

1.介绍

phantom: 美 ['fæntəm],鬼怪,幽灵。
PhantomJS 是一个基于 Webkit 的“无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的 JavaScript,因为不会展示图形界面,所以运行起来比完整的浏览器要高效。如果我们把 Selenium 和 PhantomJS 结合在一起,就可以运行一个非常强大的网络爬虫了,这个爬虫可以处理 JavaScrip、Cookie、headers,以及任何我们真实用户需要做的事情。

2.下载与使用

(1)下载--解压

PhantomJS 只能从它的官方网站 http://phantomjs.org/download.html下载。

因为PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过 Selenium 调用 PhantomJS 来直接使用。

(2)设置环境变量

找到下载解压好的包里面的phantomjs.exe的路径

打开环境变量,新建-->PHANTOMJS_HOME,把刚刚找到的路径复制进去

PATH-->编辑-->;%PHANTOM_HOME%

打开终端命令行,输入:phantomjs,能够进行到 phantomjs 命令行,则表示安装成功,
如下图所示:


三、selenium 与phantomJS结合的一个简单操作

1.导入模块

2.创建浏览器

3.网页访问

from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get('http:www.baidu.com')
driver.save_screenshot('1.png')
print(driver.title)
driver.find_element_by_id('kw').send_keys('胡歌')
print(driver.title)

如何通过Selenium调用PhantomJS Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。 Selenium 自己... 阅读详情

相关推荐

pyqt5与selenium混合使用心得

接触py不久,但经过思考后,认为pyqt与selenium

全粘工程师 667

selenium和phantomJS

selenium和phantomJS 目录清单 [x] . selenium和phantomjs概述 [x] . selenium常用API [x] . 案例操作:模拟登陆csdn 课程内容 1. selenium和phantomJS是什么东西 selenium是一套web网站自动化测试工具,主要通过命令行的操作完成常规可视化界面下的用户各种操作行为,因为其简单易学成本低...

一吱大懒虫的博客 5438

【UE 反射】反射的原理是什么?如何使用机制?

静态类型检查确保了类型的早期一致性和高效的代码执行,但减少了灵活性。动态类型检查提供了更大的灵活性,但增加了运行时的开销和潜在的错误。反射作为一种动态特性,无论是在静态类型语言还是动态类型语言中,都提供了强大的运行时类型操作能力,但也伴随着性能和安全性方面的权衡。通过理解这些联系,开发者可以在不同的编程语言和应用场景中选择适合的类型检查方式和反射机制,以实现所需的动态行为和灵活性,同时保证性能和安全性。

hhw_hhw的博客 6032

Selenium+PhantomJS使用详解

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。 Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。 Selenium 自己不...

Deeply_bless的博客 1417

Potplayer + LAVFilters + madVR 配置教程

文章目录Potplayer + LAVFilters + madVR 配置教程工具安装篇设置调教1.potplayer播放器设置加载LAVFilters和madVR1.选择“源滤镜/分离器”选项,选择“滤镜/解码器管理”2.“添加外部滤镜”3.浏览到刚才LAVFilters解压的文件夹,分别添加图示项。4.添加后回到管理界面设置,点击左边的”LAV AudioDecoder”,将右边”音频解码器”...

re 16万+

Zemax实现微透镜阵列光束整形(原理+仿真)

通过Zemax实现微透镜阵列的光场整形仿真。

VJCP_90909Bu0的博客 1万+

【Python从入门到进阶】37、selenium关于phantomjs的基本使用

Selenium通常需要一个真实的浏览器窗口来执行测试或爬虫任务。这就意味着它会打开一个可见的浏览器窗口,这可能不是理想的选择,因为大部分同学都希望在后台运行这些自动化任务。而PhantomJS通过提供无界面浏览器的功能,解决了Selenium直接使用的一些缺点。它能够在后台执行任务,加快执行速度,并且占用较少的内存资源。这使得PhantomJS成为一个强大的工具,适用于自动化测试、网络爬虫、屏幕截图等各种应用场景。

程序猿之洞 2218

Hodgkin-Huxley Model

介绍了经典的动力学模型:HH Model

weixin_73557167的博客 2474

07-selenium、PhantomJS(无头浏览器)

selenium(自动化测试工具可用于在爬虫中解决js动态加载问题)   简介(本质就是模仿浏览器工作)   Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览...

baizhi1304的博客 1061

论文分享 - OctoMap八叉树建图原理

论文:OctoMap:An Efficient Probabilistic 3D Mapping Framework Based on Octrees。

一只废佐_的博客 2539

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java)

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java), 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 58

selenium+PhantomJS+IP代理

首先安装selenium、PhantomJS selenium安装pip install selenium PhantomJS安装 这个需要手动的到官网下载 开始使用 导入需要的包 import random from selenium import webdriver from selenium.webdriver.common.proxy import ProxyType # 调用...

不写代码的博客 1848

【Zephyr电源与功耗专题】13_PMU电源驱动介绍

本文介绍的PMU芯片包含2路DCDC和6路LDO,在Zephyr实时操作系统下实现了完整的电源管理解决方案。

zero的博客 842

Python3安装PhantomJS和Selenium

之前抓取了某个网站,写了个总结。点击打开链接 想着隔一段时间搞一下,结果这几日发现抓取报错。查看一下提示封我IP了。 但是我用浏览器打开是没有问题的。 估计是我写的爬虫隐藏能力还不够强,被直接认定为爬虫了。只是人家唬我而已。其实后来发现是cookie的问题。不过这个文章就不说这个了。 一开始觉得可能是gzip压缩可能被认出,然后我就加了支持gzip了。发下你还不行。只好试试js的运行了。

肥宝的实验室 9947

2021-10-29【微生物】丨基于qiime2工具16S/ITS分析全套流程(上)

目录摘要工具与方法使用命令结果展示总结二级目录三级目录 摘要 前两个月项目特别多,最近终于有机会闲下来写点文章,把之前搭建的流程梳理一遍。前同事分析16S/ITS使用的qiime1,我接手后感觉不太适应,希望能够使用新版本来搭建,于是花了几天时间重新搭了这个流程, 工具与方法 使用工具:qiime2 使用版本:qiime2-2021.4 参考文档:https://docs.qiime2.org/2021.4/(最新版本2021.8) 使用命令 在这里插入代码片 结果展示 总结 二级目录 三级目录 ...

1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Scrapy之PhantomJS , Selenium动态爬虫

简介 很多网页具有动态加载的功能,简单的静态页面爬虫对它就无能为力了。这时候就需要PhantomJS+Selenium两大神器 简单点说PhantomJS就是一个没有界面的浏览器,提供了JavaScript接口 PhantomJS在linux下的安装 先安装依赖包 sudo apt-get install build-essential g++ flex bison gperf rub...

u011414629的专栏 666

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python下的selenium和PhantomJS

一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览器PhantomJS来抓取javascript渲染的页面, 但是新版本的Selenium不再支持PhantomJS了,请使用Chrome或Firefox的无头版本来替代。 如下图: 这里有2中...

dz45693的专栏 2194

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Selenium + PhantomJS教程

This post borrows from the previous selenium-based post here. If you have heard of PhantomJS, would like to try it out, and are curious to see how it performs against other browsers such as Chrome, th...

cumei1658的博客 293

震惊!Selenium分手PhantomJS

背景 今天本地调试基于Selenium+PhantomJS的动态爬虫程序顺利结束后,着手部署到服务器上,刚买的热乎的京东云,噼里啪啦一顿安装环境,最后跑的时候报了这么个错误: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Fir...

孔天逸'Blog 3万+

python selenium、phantomjs使用

from selenium import webdriver from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup as bs import time import logging.handlers import traceback # 获得logging对象 mylog = logging....

qq_32446743的博客 239

Selenium+PhantomJS

Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发...

不止于Python 233

selenium停止对PhantomJS的支持

今天发现最新版本的selenium3.11.0停止对PhantomJS的支持,需要对selenium降级卸载最新版本:pip3 uninstall selenium安装历史版本:pip3 install selenium==3.10.0通过尝试,3.8.0版本不会再提示。另外,在系统环境变量中添加phantomjs的存放目录,仍然提示有问题。经过搜索,csdn网友提供的答案,如下代码,需要添加路径...

weixin_42156650的博客 3388

python初学selenium+phantomjs遇到的问题

自动化测试神器 selenium+phantomjs Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检

bzd_111的专栏 1万+

Selenium + PhantomJS 报错

使用Selenium + PhantomJS 去抓取网页时,报错: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead, warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ' Selenium

转几圈晕 427

selenium在执行phantomjs的API并获取执行结果

selenium在执行phantomjs的API并获取执行结果

Bendawang's Blog 7240

Python selenium基础之PhantomJS

1、对于一些动态js,初步get请求一般访问不到, 一、Selenium介绍   Selenium是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览器驱动。Selenium支持多种语言开...

蓝莓哈尼 297
上一篇: 在信用中国网站爬取你想要查找的任何公司的所有相关信息
下一篇: 使用Selenium时,如何选择Chrome下载ChromeDriver
一个回和
博客等级 码龄8年 150粉丝 206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值