问题描述:在爬取一些反爬机制做的比较好的网站时,经常会遇见一个问题就网站代码是通过js写的,这种就无法直接使用一般的爬虫工具爬取,这种情况一般有两种解决方案 第一种:把js代码转为html代码,然后再使用html代码解析工具爬取,目前常用的工具是selenium和scrapy-splash,我使用的是第一个工具,第二个还有搞个docker服务,太麻烦 第二种:自己观察js代码,找到存放数据的地方,直接获取,这种方式需要有js基础,反正我看到一堆乱七八糟的js就头大,这种方式pass 下面就是第一…
背景 几年前我写了一本关于selenium webdriver的小册子,主要讲了一些selenium在进行测试过程中会遇到的场景以及解决方案,陆陆续续在github上收到了100+的star,在这里我对所有喜欢这本书的小伙伴表示感谢. 时光荏苒,selenium3.0已经发布,现在回过头来看一下那本小册子的内容,很惊奇的发现其实并不过时,毕竟selenium3.0在client代码层面变化不大.于是花了半天时间将以前的版本整理到gitbook,以便让读者能够获得更好的体验. 阅读 seleniu…
转载原地址:  https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中,需要大量的手动操作来验证某些功能.开发人员在开发过程中,需要访问其应用并且验证其功能是否正常运行,反复调试重复验证.系统维护人员也需要经常访问其应用,以确保系统的正常运行.如上所述的这些操作需要花费大量的时间和人力,如能引入自动化测试代替人工重复操作,将极大地提高团队的生产效率.在本文中,我们将介绍…
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.python的下载安装,官网链接如下:https://www.python.org/downloads/release/python-362/,选择相应的文件下载 2.安装过程:https://jingyan.baidu.com/article/e73e26c0bad76224acb6a766.html,虽然…
webdriver的简介 硒2.0的主要新功能是集成的webdriver的API.webdriver的设计除了解决一些seleniumr-RC API的一些限制,与webdriver 的整合,将提供一个更简单,更简洁的编程接口.selenium webdriver会更好地支持动态的网页,页面本身被重新加载页面元素可能更改.webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持现代先进的web-app测试. WebDriver与Selenium-RC相比,是如何来驱动浏览器…
一. webdriver中常用的cookie方法 webdriver中提供了操作cookie的相关方法: get_cookies()                  获得cookie信息 add_cookie(cookie_dict)        添加cookie delete_cookie(name)             删除特定(部分)的cookie delete_all_cookies()              删除所有的cookie 二. add_cookie()的用法 1.…
问题 今天在使用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 headl…
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 ha…
一. webdriver中常用的cookie方法 webdriver中提供了操作cookie的相关方法: get_cookies()                  获得cookie信息 add_cookie(cookie_dict)        添加cookie delete_cookie(name)             删除特定(部分)的cookie delete_all_cookies()              删除所有的cookie 二. add_cookie()的用法 1.…
在写爬虫,面对很多js 加载的页面,很多人束手无策,更多的人喜欢用Senlenium+ Webdriver,古语有云:道高一尺魔高一丈.已淘宝为首,众多网站都针对 Selenium的js监测机制, 比如:window.navigator.webdriver,navigator.languages,navigator.plugins.length…… 正常情况下我们用浏览器访问淘宝等网站的 window.navigator.webdriver的值为 undefined. 当我们用selenium…
今天爬虫时需要使用到selenium, 使用pip install selenium进行安装. 可是一开始写程序就遇到了AttributeError: module 'selenium.webdriver.common.service' has no attribute 'Service'这个错误. 在此,给出解决方案: 1)点击File -> settings... -> project interpreter,手动添加selenium这个第三方库. 若还是不行,那就接着看 2)查看一下你此…
Selenium WebDriver 用于模拟浏览器的功能,可以做网站测试用,也可以用来做crawler.我是用eclipse开发的,导入selenium-server-standalone-***.jar(Right click project -->Properties --> Java Buid Path --> Libraries --> Add External Jar...).这个包可以在Selenium官网下载. 下面的代码是简单的跟一个网站做交互: public c…
结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver Json protocol 相关请看 http://www.cnblogs.com/tobecrazy/p/5020741.html 我这里使用的是Gson 和 httpclient 首先,起一个remote sever java -Dwebdriver.ie.driver="IEDriverSer…
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为,根本操作不了. 也有在网上看到webdriver right click option的一些代码,拿来用发现不能用的. Actions act = new Actions(driver); WebElement link = driver.findElement(By.id("xpath"…
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriver_guide Selenium WebDriver经验杂记:http://blog.csdn.net/ant_yan/article/details/8185899http://blog.csdn.net/aerchi/article/category/936247 1. Selenium We…
        研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数调用,到重定义函数.从变量驱动,到数据驱动,再到关键字驱动,一步一步的默默走向自动化框架的构建.虽然还有没有投入使用,只是写几个demo,就慢慢的发现了 selenium自动用例脚本,相似功能地方,代码基本都是一样的,界面元素换个查找方式,把原来的使用 xpath方式,改为使用 id 查找,需要对每…
最近在使用Selenium Webdriver(Selenium2.0)进行界面自动化测试的时候发现单击事件无效,通过driver.findElement的方式是可以找到click元素的,但是就是click之后无任何反应. 研究之后发现原来是click的时候已经失去该焦点了,解决办法是先找另外的元素,再来找这个元素,例如 driver.findElement(By.linkText(name)).findElement(By.xpath("..")).click(); driver.f…
### 问题 捕捉页面上js error ### 解决办法 从Selenium webdriver log 中解析 # -*- coding:utf8 -*- import unittest from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities class CaptureJSError(unittest.TestCase): @cl…
目录 1. 项目配置 2. 一个WebDriver简单例子 3. 使用Page Objects模式 4. 总结 5. Troubleshooting 6. 参考文档 本篇文章通过例子来阐述一下Selenium2.0 WebDriver 之 Page Objects模式. 项目配置 maven 3, pom.xml配置如下 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>s…
一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如: 但是,有的日期控件是readonly的 比如12306的这个 <input id="train_date" class="inp-txt" type="text" value="2015-03-15" name="back_train_date" a…
在使用webdriver测试中,很多地方都使用登陆,cookie能够实现不必再次输入用户名密码进行登陆. 首先了解一下Java Cookie类的一些方法. 在jsp中处理cookie数据的常用方法: getDomain():返回cookie的域名. getMaxAge():返回cookie的存活时间 getName():返回cookie的名字 getPath():返回cookie适用的路径 getSecure():如果浏览器通过安全协议发送Cookie将返回true值,如果浏览器使用标准协议刚返…
package baidu; import java.io.File; import java.io.IOException; import junit.framework.TestCase; import org.apache.commons.io.FileUtils; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.OutputType; import org.openqa.se…
最近想总结一下学习selenium webdriver的情况,于是就想用selenium webdriver里面的方法来实现selenium RC中操作的一些方法.目前封装了一个ActionDriverHelper类,来实现RC中Selenium.java和DefaultSelenium.java中的方法.有一些方法还没有实现,写的方法大多没有经过测试,仅供参考.代码如下: package core; import java.io.File; import java.io.IOException…
转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:https://www.python.org/downloads/ 1.2 [python 的安装包管理工具]Pip pip 是python 软件包的安装和管理工具,有了这个工具,我们只需要一个命令就可以轻松的python的任意类库. 下载地址:https://pypi.python.org/pypi/…
转载地址:http://www.tuicool.com/articles/BRnqeu2 I was updating the browser WebDrivers for    Seleno    when I hit an issue with the InternetExplorerDriver. I was running Selenium WebDriver 2.43.1 on Windows 8.1 and using Internet Explorer 11. The test w…
转自:http://www.ithov.com/linux/133271.shtml 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类.…
摘:http://www.cnblogs.com/dream0577/archive/2012/10/07/2714579.html /**       用IE驱动,1.先到官网下载IEDriverServer.exe,2.在代码设置属性 3.在代码设置忽略IE保护模式,4.import org.openqa.selenium.remote.DesiredCapabilities;       */       System.setProperty("webdriver.ie.driver&qu…
Selenium WebDriver屏幕截图(C#版)http://www.automationqa.com/forum.php?mod=viewthread&tid=3595&fromuid=21…
前言 如果你是一位有python语言基础的同学,又想通过python+ selenium去实施自动化,那么你非常幸运的找到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助. 其实,我在selenium自动化方面也是初学者,虽然在刚开始从事测试工作的就尝试学习selenium自动化工具,购买了面<零成本实现web自动化测试---基于seleinum与Bromine>学了一段时间不得门,当时水平有限,甚至一直都不理解什么自动化测试框架,后来就放弃了自动化的学习. 今年换工作后,所测试的项…
前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们很难深入的接触和使用编程技术: 笔者认为自动化测试尽管有很多不足,更不能完全替代手工测试,但确实是测试人员发展的一个方向,越来越多的公司在实践自动化,越来多的项目在尝试自动化:所以对于功能测试人员来讲,掌握项目自动化测试技术自然能提高测试技术水平,能够保持不被淘汰,又能在激烈的竞争中处于优势地位.…