今天折腾phantomjs+selenium的笔记】的更多相关文章

1.debian8里安装phantomjs的方法: 参照:http://www.cnblogs.com/lgh344902118/p/6369054.html a.去https://bitbucket.org/ariya/phantomjs/downloads/ 下载最新的包,例如 wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 建议用最新的,我试了用1.9.6配合…
之前使用 selenium + firefox驱动浏览器来实现爬取动态网址,但是firefox经常更新,更新后时常会导致webdriver启动不来,所以改用phantomjs+selenium来改善一下. 使用phantomjs和使用浏览器区别并不大. 一,首先还是需要下载Phantomjs Phantomjs对各个主流的平台都支持,下载页面.选择好存放的目录,例如D:\phantomjs. phantomjs的可执行文件就在bin目录下,可以将D:\phantomjs\bin目录加入环境变量中…
时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell opensuse 一些常用命令:    service xxx start/stop  运行或停止服务    chkconfig xxx on/off    将服务加入启动,重启后永久生效    ps -ef 查看所有当前进程    kill PID 终止某个ID 的进程 修改权限,让普通用户具有 root 权限:1)修改 /etc/passwd 将用户id 修改成 0 如:…
最近准备深入学习Python相关的爬虫知识了,如果说在使用Python爬取相对正规的网页使用"urllib2 + BeautifulSoup + 正则表达式"就能搞定的话:那么动态生成的信息页面,如Ajax.JavaScript等就需要通过"Phantomjs + CasperJS + Selenium"来实现了.所以先从安装和功能介绍入门,后面在介绍一些Python相关的爬虫应用. 一. 介绍 PhantomJS        PhantomJS是一个服务器端的…
selenium课程笔记第一天(2017-7-1) 一.配置火狐浏览器 运行:firefox.exe -p -no -remote selenium课程笔记第二天 用Eclipse+java+selenium+ant的自动化测试 WEB端测试自动化 手机测试自动化(后期) 安全测试自动化(后期) 面试题:自动化测试是什么?什么情况下选择自动化?自动化测试与手动测试的区别,优势和劣势都有那些?UFT是什么?环境配置?环境搭建?框架搭建? 什么情况下选择自动化?规则 答:项目周期长.变更 UFT是什…
本来今天要学GitHub的,但是在群里问了下小伙伴时被暴击.说我学的东西太多太杂,不是很深入,都是皮毛.哎~自己早深有意识到,因个人能力吧,找的资料都不是很全,加上实际工作没有应用到.所以写一篇selenium的笔记,有人问到的话,我也可以大声的回答,我学了这些.菜鸡就得活给别人看,你还不是黑客不是大佬,没有自由. 如果还有什么东西没学到的话,麻烦大家指出补充.谢谢~!  了解到有一个框架:Protractor  学习中想到的几个问题(可能是面试题):1.显示等待和隐式等待的区别 2.显示和隐式…
[爬虫]大杀器——phantomJS+selenium 视频地址 江湖上有一个传说,得倚天屠龙者可称霸武林.爬虫中也有两个大杀器,他们结合在一起时,无往不利,不管你静态网站还是动态网站,通吃. phantomJS http://phantomjs.org/ 一种无头浏览器,何为无头浏览器,你可以看做一个无界面的浏览器,电脑能看到,人却看不到(没界面怎么看). 下载安装:http://phantomjs.org/download.html selenium http://selenium-pyth…
下面一段代码是使用selenium访问网页一个小实例 #!/usr/bin/python# -*- coding: utf-8 -*- '''Created on Dec 6, 2013 @author: Jay <smile665@gmail.com>@description: use PhantomJS to parse a web page to get the geo info of an IP''' # from selenium import webdriver # import…
1. 安装selenium pip install selenium 2. 安装phantomjs 如果你是Ubuntu12.04,默认安装的版本是1.4.这个会出错. 需要安装1.9.7 cd /usr/local/share sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2 sudo tar xjf phantomjs-1.9.7-linux-x86_6…
Pyv8,PythonWebKit,Selenium,PhantomJS,Ghost.py 等等.... 快速构建实时抓取集群[searchtb] 定义:http://i.cnblogs.com/EditPosts.aspx?opt=1 首先,我们定义一下定向抓取,定向抓取是一种特定的抓取需求,目标站点是已知的,站点的页面是已知的.本文的介绍里面,主要是侧重于如何快速构建一个实时的抓取系统,并不包含通用意义上的比如链接分析,站点发现等等特性. 在本文提到的实例系统里面,主要用到 linux+my…
Selenium笔记(1)安装和简单使用 简介 Selenium是一个用于Web应用程序测试的工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等. 这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能——创建回归测试检验软件功能和用户需求. 而用在爬虫上则是模拟正常用户访问网页并获取数据.…
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大化 driver.set_window_size(400,800) # 设置窗口大小 driver.back() # 回退一层 driver.forward() # 前进一层 driver.quit() # 退出浏览器 driver.close() # 关闭浏览器 二.元素定位 # 根据id定位 d…
selenium http://selenium-python.readthedocs.io/index.html https://www.seleniumhq.org/projects/ide/ 声明浏览器对象,需要安装对应的浏览器驱动,记住要跟对应的浏览器版本相同,例如,chrome,安装chromedriver from selenium import webdriver browser = webdriver.Chrome() browser = webdriver.Firefox()…
selenium进行自动化测试的一个很重要的东西那就是元素定位,如果元素都没法定位就无法操作它,也就无法进行自动化测试了.网上对于元素定位有很多的介绍,很详细很详细的,但是依然有很多新手总是会遇到无法定位的情况,在这里自己总结下元素定位. 先来看元素定位的方式 //使用id定位 userName = driver.findElement(By.id("TANGRAM__PSP_8__userName")); //使用class定位 userName = driver.findEleme…
有时候在交流群里经常会看到这样的问题,selenium能进行性能测试吗?selenium1和selenium2有什么区别等等问题,在这里谈一下自己学习和工作以后对selenium的认识.我所记录的东西都是自己学习和工作中实际学习用到的,不会为了写博客而去搜文字什么的,通俗易懂. selenium是什么?在我看来它是个封装起来的API,提供给你各种各样的方法去对web页面进行操作,它是一个自动化测试框架,它能做的就是把你从页面上的操作转化为代码,你能在页面上做什么,就能用selenium提供的接口…
我们也可以用xml来定义一个信息更为丰富的UIMap.xml文件,比如,额外还添加控件所属的页,控件的类型,然后解析构建一个XMLParser类来读取相应的值. <?xml version="1.0" encoding="utf-8" ?> <UIMap> <Object ID="User Name"> <Attributes Locator="userName" Page="…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: search in mail box """ import unittest import os import sys from selenium import webdriver from selenium.webdriver.common.keys import Keys cur_dir = os.getcwd() sys.pat…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ 我们多添加一些测试场景,比如:删除邮件,查找邮件,发送邮件等等 """ import unittest import os import sys from selenium import webdriver cur_dir = os.getcwd() sys.path.append(cur_dir.split(r'\test_case')[0])…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: delete mail 我们多添加一些测试场景,比如:删除邮件,查找邮件,发送邮件等等 """ import unittest import os import sys from selenium import webdriver cur_dir = os.getcwd() sys.path.append(cur_dir.split(…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 定制浏览器 """ import unittest import os import time from selenium import webdriver class TestConfigFirefox(unittest.TestCase): def setUp(self): fp = webdriver.FirefoxProfil…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 测试126邮箱的登陆功能 1.使用公共方法public.login 2.将测试数据放在xml文件中,使用数据驱动(/test_data/login.xml) 3.这里使用xml.dom.minidom读取xml数据 """ import unittest import xml.dom.minidom import os import…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 将登陆动作封装成function """ import unittest import sys import os from selenium import webdriver from selenium.webdriver.common.keys import Keys # 单独运行这个py文件时,需要加入下面的代码,用以将项目的目…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 登陆126邮箱 """ from selenium import webdriver import unittest class TestLogin(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.implicitly…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 使用unittest组织用例 """ from selenium import webdriver import unittest import time class TestSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() se…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc:学习unittest的用法 注意setUp/setUpClass,tearDown/tearDownClass的区别 ① setUp():每个测试函数运行前运行 ② tearDown():每个测试函数运行完后执行 ③ setUpClass():必须使用@classmethod 装饰器,所有test运行前运行一次 ④ tearDownClass():必须使用@clas…
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 操作浏览器 """ from selenium import webdriver import time import logging logging.basicConfig(level=logging.INFO) baidu = "http://www.baidu.com" dr = webdriver.Fire…
#!/usr/bin/env python # -*- coding: utf-8 -*- """@desc: 讲讲web项目中常用的方法属性 webdriver 提供了八种元素定位方法: id.name.class name.tag name.link text.partial link text.xpath.css selector 在 Python 语言中对应的定位方法如下: find_element_by_id() find_element_by_name() fin…
1.百度搜索目标--实例 boolean flag; //点击次数 int shcs=3; int i=0; //窗口焦点控制 String detailWindowHandle = null; //火狐浏览器 System.setProperty("webdriver.firefox.bin", "D:/Softwareinstallation/huohu/firefox.exe"); WebDriver driver = new FirefoxDriver();…
今天研究了下ie.chrome.firefox浏览器执行脚本 1.首先firefox下执行时,我是安装在d盘了,所以要更改路径 //如果火狐浏览器没有默认安装在C盘,需要制定其路径 System.setProperty("webdriver.firefox.bin", "D:/Softwareinstallation/huohu/firefox.exe");  WebDriver driver = new FirefoxDriver(); 2.在chrome下执行时…
说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时junit eclipse开发 junit包下载: 下载 访问密码 c23d eclipse自己百度 3.实例练习. 具体步骤百度 4.遇见的问题 等待解决的 1).如下图,如何让变量pwds每次自动加1呢?假设pwds初始值为1,我想每次自动加1,向下图所示在我运行完${pwds}+1后我打印出来结…