PhantomJS PhantomJS 是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM 处理.JavaScript.CSS选择器.JSON.Canvas和可缩放矢量图形SVG.PhantomJS主要是通过JavaScript和 CoffeeScript控制WebKit的CSS选择器.可缩放矢量图形SVG和HTTP网络等各个模块.PhantomJS主要支持Windows. Mac OS.Linux三个平台,…
Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_element_by_xpath("//*[@class='menu-text'][text()='业务管理']").click() time.sleep(1) self.driver.find_element_by_xpath("//*[@class='menu-text'][…
Python+Selenium自动化-获取页面信息   1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import time browser = webdriver.Chrome() browser.get('https://www.baidu.com') #打印网页标题 print(browser.title) #输出内容:百度一下,你就知道 2.获取页面URL current_url:获取当前页面的URL fr…
一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览器PhantomJS来抓取javascript渲染的页面,下面实现一个简单的爬取 环境搭建 准备工具:python3.5,selenium,phantomjs 我的电脑里面已经装好了python3.5 安装Selenium pip3 install selenium 安装Phantomjs 按照系统…
1.环境python2.7+selenium+PhantomJS(软件安装和库的安装网上都有教程我们跳过,so easy) 2.原理 绕过首页登录需要验证码,直接进入搜索栏,输入搜索的职位+地区搜索出职位列表,点击全选,选择该页的所有工作,当然培训的也选起了,未做筛选的工作,亲们可以加上,第一次提交不需要验证码,第二次提交就需要验证码了,手动输入,验证码输入用的raw_input,输入之后程序继续运行,往复操作,总的来说也不智能,需要修改的地方很多,就当大家了解下selenium+Phantom…
问题:用selenium+phantomjs 模拟登陆,网页用JavaScript的alert("登陆成功")弹出框,但是用switch_to_alert().accept()报错,不可执行命令. 目标代码:<script language="javascript">alert('********************');</script> 显示错误: File "sy.py", line 112, in <mo…
这里只是学习一下动态加载页面内容的抓取,并不适用于所有的页面. 使用到的工具就是python selenium和phantomjs,另外调试的时候还用了firefox的geckodriver.exe. 首先学习了下怎么在firefox中动态调试内容和抓取元素,这个其实在网页自动化测试中相当实用,想想测试同学每天重复点击业务页面和输入内容得有多痛苦吧. 一开始进展十分不顺利,因为phantomjs和firefox的调试加载的动态内容都不能在源码中有任何的体现,只能找出第一次get页面的内容,条目就…
0x00配置phantomJS 1. 在windows平台下 此种方法是弹浏览器进行自动化测试的. 1.下载谷歌的驱动 https://chromedriver.storage.googleapis.com/index.html 2.将解压后的chromedriver.exe放到chrome浏览器的安装目录下. 3.在代码中调用浏览器驱动,执行自动化操作. chromedriver = 'chromedriver绝对路径' driver = webdriver.Chrome(chromedriv…
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输入网址就可以访问相应的站点内容,这个就是通常所说的基于界面的浏览器.除了这种浏览器之外,还有一种叫做无头浏览器的东西,主要是用作爬虫,用以捕捉Web上的各类数据:这里的无头主要是指没有界面,完全是后台操作,对于网站来说,它以为访问它的就是一个真实的浏览器. 此类的框架包括: Phantomjs为代表…
近期,<哪吒之魔童降世>在各大视频软件可以看了,然而却是一贯的套路,非会员谢绝观看!!!只能从国内那些五花八门的视频网站上找着看了,或者通过之前本人说的 Chrome 的油猴插件,传送门 https://www.cnblogs.com/weijiutao/p/10608107.html,进行观看. 经过分析,通过油猴插件观看某奇艺等主流视频网站的方法其实就是在视频网页链接的前面加上一个视频解析的链接地址,如下: 播放传送门 http://www.iqiyi.com/lib/m_21740561…
PhantomJS是一个基于webkit的JavaScript API.它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码.任何你可以在基于webkit浏览器 做的事情,它都能做到.它不仅是个隐形的浏览器,提供了诸如CSS选择器.支持Web标准.DOM操作.JSON.HTML5.Canvas.SVG等, 同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等.PhantomJS的用处可谓非常广泛,诸如前端无界面自动化测试(需要结合 J…
# -*- coding: utf-8 -*- from selenium import webdriver import selenium.webdriver.support.ui as ui from selenium.webdriver.common.keys import Keys def test1(): DEMO_PAGE = 'http://www.court.gov.cn/zgcpwsw/Html_Pages/eae8/eae8166f-1c9e-4a03-a10d-b86dde…
# _*_coding:utf-8_*_ from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import os,urllib.request,sys,importlib,time,winreg def Login_in(username,password): #教务管理系统网址 PostUrl = "" #验证码网址 SecretCodeUrl…
学习了Python语言一段时间后,在公司的项目里也使用到了python来写测试脚本,一些重复的操作都使用脚本来处理了.大大的提高工作效率,减少了一些手工重复的操作. 以下是使用unittest框架写的简单的邮箱自动登录实例,分享给大家,有不足之处可留言交流. 由于QQ邮箱登录的页面使用iFrame的设计,在开始写的时候因为找不到切换的方法,导致代码老是报错. driver.switch_to.frame("login_frame") 在打开QQ邮箱首页后,需要先切换到login_fra…
from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as E…
报错: webdriver.PhantomJS() raise exception_class(value)selenium.common.exceptions.WebDriverException: Message: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><h…
新建一个文件,命名为test.js,内容如下: var page = require('webpage').create(), system = require('system'), address; if (system.args.length === 1) { phantom.exit(1); } else { address = system.args[1]; page.open(address, function(status) { if (status !== 'success') {…
basicConfig()所捕获的log信息.不过其开启的debug模式只能捕获到客户端像服务器发送的post()请求,而无法获取服务器所返回的应答信息. from random import randint from selenium import webdriver import logging logging.basicConfig(level = logging.DEBUG) driver = webdriver.Firefox() driver.get("http://www.baid…
通常获取验证信息用得最多的几种验证信息分别是title,URL和text.text方法用于获取标签对之间的文本信息. 代码如下: from selenium import webdriverimport timedriver = webdriver.Firefox()driver.get("http://XXX.XXX.XXX.XXX/oneCard/login")#打印当前页面titletitle = driver.titleprint(title)#打印当前页面的URLnow_ur…
Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Chrome等.Phantom JS是一个服务器端的 JavaScript API 的 WebKit.其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG. 基于js动态加载内容爬取的另一种方法——模拟浏览器 安装过程略. 下面写上最简单基础的 from selenium impor…
1.元素模糊定位 如抓取下面列表: elements = doc("li[id^='result_']") 2.元素精确定位 elements =doc("div[class='a-fixed-left-grid-inner']") eq索引从0开始 elements =doc("div[class='a-fixed-left-grid-inner']").find("div").eq(1) elements = doc(&q…
这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将测试结果通过邮件发送到接收人 # coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header from .logger import * def send_email(test_report): with open(test_report, 'r', encoding='utf-8')…
借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文名可能会有重复,同时公众号名字一定要完全正确,不然可能搜到很多东西,这样我们可以减少数据的筛选工作, 只要找到这个唯一英文名对应的那条数据即可),即发送请求到'http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&_sug_=n&…
前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是通过JavaScript动态加载的,故通过Phantomjs模拟浏览器加载获取.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        [Python…
本人刚才开始学习爬虫,从网上查询资料,写了一个利用Selenium+Phantomjs动态获取网站数据信息的例子,当然首先要安装Selenium+Phantomjs,具体的看 http://www.cnblogs.com/shaosks/p/6526817.html  Selenium下载: https://pypi.python.org/pypi/selenium/ phantomjs使用参考:http://javascript.ruanyifeng.com/tool/phantomjs.ht…
由于业务需要,老大要我研究一下爬虫. 团队的技术栈以java为主,并且我的主语言是Java,研究时间不到一周.基于以上原因固放弃python,选择java为语言来进行开发.等之后有时间再尝试python来实现一个. 本次爬虫选用了webMagic+selenium+phantomjs,选用他们的原因如下: webMagic(v:0.73),一个轻量级的Java爬虫框架(git地址:https://github.com/code4craft/webmagic,主页地址:http://webmagi…
一.最近在学习网络爬虫的东西,说实话,没有怎么写过爬虫,Java里面使用的爬虫也没有怎么用过.这里主要是学习Python的时候,了解到Python爬虫的强大,和代码的简介,这里会简单的从入门看是说起,主要是了解基本的开发思路,后续会讲到scrapy框架的使用,这里主要是讲Python的爬虫入门. 二.urllib.urllib2,这两个模块都是用来处理url请求的,这里的开始就是使用urllib和urllib2的库进行相关操作,来看一个例子: #!/usr/bin/env python # -*…
Selenium 一.简介 selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样 selenium2支持通过驱动真实浏览器(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver) selenium2支持通过驱动无界面浏览器(HtmlUnit,PhantomJs) 二.安装 Windows 第一种方法是:下载源码安装,下载地址(https://pypi.python.org/py…
前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但是网页的DOM元素内容却可以动态的变化.如果处理这种网页是还用requests库或者python自带的urllib库那么得到的网页内容和网页在浏览器中显示的内容是不一致的. 解决方案 使用Selenium+PhantomJS.这两个组合在一起,可以运行非常强大的爬虫,可以处理cookie,JavaScript,header以及其他你想做的任何事情. 安装第三方库 Selenium是…
今天selenium PhantomJS python用了下,发现报错,提示我:'phantomjs.exe' executable needs to be in PATH. from selenium import webdriver# Open PhantomJS driver = webdriver.PhantomJS(executable_path='C:\phantomjs-2.1.1-windows\bin\phantomjs.exe') 这样运行报错,我百度了下,发现解决方式,在完…