测试用例文件:test_selenium/test_hogwarts.py 使用pytest框架 定义一个变量,通过外部传入变量,确定使用哪个浏览器 browser = os.getenv("browser").lower() print(browser) if browser == "headless": self.driver = webdriver.PhantomJS() elif browser == "firefox": self.dr…
无论是使用VPN还是其它代理方式,很多时候我们不希望暴露自己的真实IP,且一直以来我们认为VPN是安全的,所有流量都会走VPN. 但最近暴露出一个WebRTC特性,会暴露我们的真实IP.适用浏览器:chrome,firefox. safari则没有问题. 只需要一段js代码就可以获取我们的真实IP.一旦被想时时监控别人的人知道并使用此方法钓鱼,便可直接获得原始IP.这简直太恐怖了. 看来以后如果重装系统,第一件事儿把cnnic证书删除后,第二件事儿就是禁用WebRTC. 有一个插件可以方便的禁用…
当我们在使用Selenium运行自动化测试时,偶尔需要用到下载功能,但浏览器的下载可能会弹出下载窗口,或者下载路径不是我们想要保存的位置,所以在通过Selenium启动浏览器时需要做相关的设置,将使这些设置在启动的浏览器中生效果. 下图为Firefox的下载弹窗: Firefox 设置浏览器下载 import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.op…
Selenium启动浏览器时,默认是打开一个新用户,不会加载原有的配置以及插件.但有些时候我们可能需要加载默认配置. 一.Chrome浏览器 1.在Chrome浏览器的地址栏输入:chrome://version/,查看个人资料路径并复制路径 2.加载配置数据 加载的用户配置路径后面的Default不需要,不然还是打开一个新用户. 在执行脚本时,确保没有谷歌浏览器打开,不然会报selenium.common.exceptions.WebDriverException: Message: unkn…
Selenium启动浏览器时,默认是打开一个新用户,不会加载原有的配置以及插件.但有些时候我们可能需要加载默认配置. 一.Chrome浏览器 1.在Chrome浏览器的地址栏输入:chrome://version/,查看个人资料路径并复制路径 2.加载配置数据 加载的用户配置路径后面的Default不需要,不然还是打开一个新用户. 在执行脚本时,确保没有谷歌浏览器打开,不然会报selenium.common.exceptions.WebDriverException: Message: unkn…
原文地址:https://www.cnblogs.com/eastonliu/p/9083982.html Selenium启动浏览器时,默认是打开一个新用户,不会加载原有的配置以及插件.但有些时候我们可能需要加载默认配置. 一.Chrome浏览器 1.在Chrome浏览器的地址栏输入:chrome://version/,查看个人资料路径并复制路径 2.加载配置数据 加载的用户配置路径后面的Default不需要,不然还是打开一个新用户. 在执行脚本时,确保没有谷歌浏览器打开,不然会报seleni…
此文主要通过 三种浏览器(Chrome.Firefox.IE)启动脚本 功能,进行 Selenium2 三种浏览器启动方法的实战实例讲解.文中所附源代码于 2015-01-18 20:33 亲测通过,敬请亲们阅览.进行编写登录自动化测试脚本,若您直接使用此文所附的源代码运行测试,则需要修改对应 浏览器 或 webdriver 的路径,否则将会引起相应的报错,请知悉. 希望能对初学 Selenium2 WebUI 自动化测试编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! 一.各浏览器…
引自  https://blog.csdn.net/Momorrine/article/details/79794146 1.      环境 操作系统 Win10 IDE Eclipse (Oxygen 4.7)+ PyDev 5.9.2 (JDK1.8) Python 3.5 Selenium selenium-3.9.0-py2.py3-none-any.whl FirefoxDriver 0.20.0 Firefox浏览器 59.0.2(32位) ChromeDriver 2.34 Ch…
前两篇文章介绍了安装.此篇文章算是一个简单的进阶应用吧.它是在Windows下通过Selenium+Python实现自己主动訪问Firefox和Chrome并实现搜索截图的功能. [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)         [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium 自己主动訪问Firefox 能够參照前文安装Selenium环境,眼下Selenium这个用于Web应用程序測试的工…
有点强迫症,之前某个页面用了空格 ,但是在chrome firefox 和ie显示的宽度都不一样,无法对齐. 搜索了一下,很多人都转载了那篇设置成宋体的,可是仍然没对齐,要么ie对齐,要么chrome没对齐,于是好好研究了一下空格. 文章在这里:HTML中       等6种空白空格的区别 大家都 不好把控,于是,我们找到了新的替代方案: 用半角空格 或者全角空格 就可以了, 相当于半格中文字符的宽度, 相当于一个中文字符宽度. 大家试试吧,完美解决,多浏览器都对齐了,心里舒坦了,哈哈~ 文章来…
Hack是针对不同的浏览器去写不同的CSS样式,从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK,同时也叫写CSS Hack. 然后将Hack放在浏览器特定的CSS文件中,让其符合条件的浏览器解析这些代码,就如前面所说的条件样式,我们将CSS Hack代码放入条件样式文件中,符合条件的浏览器就解析,不符合的将不解析,从面达到所需要的页面渲染效果. 1.Firefox @-moz-document url-prefix() { .sele…
如何查看python selenium的API python -m pydoc -p  4567 说明: python -m pydoc表示打开pydoc模块,pydoc是查看python文档的首选工具: -p 4567表示在4567端口上启动server 然后在浏览器中访问http://localhost:4567/,此时应该可以看到python中所有的Modules按ctrl+f,输入selenium,定位到selenium文档的链接,然后点击进入到http://localhost:4567…
截至自2017-08-11,支持现世已出的几乎所有PC端浏览器版本判断. 受支持的PC端浏览器列表: Edge IE Chrome Firefox Opera Safari QQ浏览器 360系列浏览器 使用IE内核的非主流浏览器 使用Chrome内核的非主流浏览器 使用混合内核的非主流浏览器 获取浏览器版本方法: function getBroswer(){ var sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s…
ChromeDriver v2.41 (2018-07-27) ---- Chrome v67-69ChromeDriver v2.40 (2018-06-07) ---- Chrome v66-68ChromeDriver v2.39 (2018-05-30) ---- Chrome v66-68ChromeDriver v2.38 (2018-04-17) ---- Chrome v65-67ChromeDriver v2.37 (2018-03-16) ---- Chrome v64-66…
前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动态加载的图片该怎么爬取到. 分析 他的代码比较简单,主要有以下的步骤:使用BeautifulSoup库,打开百度贴吧的首页地址,再解析得到id为new_list标签底下的img标签,最后将img标签的图片保存下来. headers = { 'User-Agent':'Mozilla/5.0 (Win…
这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分 [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium) [Python爬虫]使用Python爬取静态网页-斗鱼直播 [Python爬虫]使用Python爬取动态网页-豆瓣电影(JSON) [Python爬虫]使用Selenium操作浏览器订购火车票 上节我们说了如何使用selenium打开网页做些简单操作 这节内容为操作浏览器自动订购12306火车票 开发环境 操作系统:windows 10 Python…
selenium 最开始我碰到SE,是上学期期末,我们那个商务小组做田野调查时发的问卷的事情.当时在问卷星上发了个问卷,但是当时我对另外几个组员的做法颇有微词,又恰好开始学一些软件知识了,就想恶作剧(一方面是小小地报复下他们,另一方面也是为了让做数据分析的自己分析起来更方便).当时就是用了SE操作浏览器刷了一波问卷,知道页面出现了验证码不让我再刷.虽然最终没想到问卷星还会统计每张问卷的完成时间导致最终的报表有一堆问卷两三秒就完成了,不知道被组员看出破绽没有,不过就刷问卷而言是顺利结束了.之后再深…
区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器加载该网页,自动操作浏览器浏览各个网页,顺便把数据抓下来.用一句简单而通俗的话说,就是使用浏览器渲染方法将爬取动态网页变成爬取静态网页. 我们可以用 Python 的 Selenium 库模拟浏览器完成抓取.Selenium 是一个用于Web 应用程序测试的工具.Selenium 测试直接运行在浏览…
Selenium 是一款强大的基于浏览器的开源自动化测试工具,最初由 Jason Huggins 于 2004 年在 ThoughtWorks 发起,它提供了一套简单易用的 API,模拟浏览器的各种操作,方便各种 Web 应用的自动化测试.它的取名很有意思,因为当时最流行的一款自动化测试工具叫做QTP,是由 Mercury 公司开发的商业应用.Mercury 是化学元素汞,而 Selenium 是化学元素硒,汞有剧毒,而硒可以解汞毒,它对汞有拮抗作用. Selenium 的核心组件叫做 Sele…
""" 获取浏览器 打开本地浏览器 打开远程浏览器 关闭浏览器 打开网址 最大化 最小化 标题 url 刷新 Python对Selenium封装浏览器调用 ------browser.py文件 """ from selenium import webdriver from Common.tools.rw_ini import read_config from .base import Base class Browser(Base): def g…
如果需要无限制的任意实例化,而不是把实例化后的对象传给另一个函数.方法处理.就需要控制单浏览器,不然每次实例化弹出来一个新浏览器,很占内存 #coding=utf8 from selenium.webdriver import Chrome,Firefox import unittest class Browser(): _browser_inst = {} def __init__(self,Klass = Firefox): if Klass in Browser._browser_inst…
ylbtech-杂项-自动化测试工具:Selenium(浏览器自动化测试框架) Selenium 是一个用于Web 应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等.这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能——创建回归测试检验软件功能…
使用Selenium通过浏览器对网站进行自动化测试 自动化测试概念: 一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件. 广义上来讲,自动化包括一切通过工具或者运行程序的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner.jmeter),或自己所写的一段程序,用于生成测试数据.狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进…
在自动化测试过程中,通过selenium启动浏览器时,可能需要加载插件(如测试用的firebug.或产品中要求必须添加某插件等).读取用户数据(自己浏览器的配置文件/别人直接给的浏览器配置文件).设置浏览器(不加载图片等). 由于我们通过selenium启动的浏览器页面,是完全干净的页面,如果想要让该页面带上我们需要的信息,则需要自己设置. 下面讲一下Firefox和Chrome浏览器的各种启动方式: 一:Firefox 1.启动浏览器,使用浏览器上保存的所有用户数据. 用户数据是从Firefo…
分析 他的代码比较简单,主要有以下的步骤:使用BeautifulSoup库,打开百度贴吧的首页地址,再解析得到id为new_list标签底下的img标签,最后将img标签的图片保存下来. headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36' } data=reques…
Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具,它提供了一套友好的API,与Selenium 1(Selenium-RC)相比,Webdriver 的API更容易理解和使用,其可读性和可维护性也大大提高.Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动,不需要启动其他进程或安装其他程序,也不必像Selenium 1那样需要先启动服务. 支持浏览器 Firefox (FirefoxDriver) IE(InternetExplorer…
selenium需要配合浏览器的驱动使用,几个主要的浏览器驱动如下 浏览器 链接 Chrome https://sites.google.com/a/chromium.org/chromedriver/downloads Edge https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ Firefox https://github.com/mozilla/geckodriver/releases Safari h…
selenium控制浏览器需要下载对应版本的驱动,并把下载好的驱动解压然后拷贝到python的安装目录. 1.chrome 驱动对应版本及下载地址;https://npm.taobao.org/mirrors/chromedriver/ 2.firefox 驱动下载地址 ;https://github.com/mozilla/geckodriver/releases/ 3.IE 驱动下载地址;http://www.cr173.com/soft/195732.html IE的启用保护模式 打开IE…
在python脚本中,使用selenium启动浏览器报错,原因是未安装浏览器驱动,报错内容如下: # -*- coding:utf-8 -*-from selenium import webdriver driver = webdriver.Firefox()driver.get("http://www.baidu.com") 报错提示如下所示: Traceback (most recent call last): File "D:\Program Files\Python3…
selenium控制浏览器操作 控制浏览器有哪些操作? 控制页面大小 前进.后退 刷新 自动输入.提交 ........  控制页面大小,实例: # -*- coding:utf-8 -*- from selenium import webdriver import time # 打开chrome浏览器 browser = webdriver.Chrome() #chrome_options=option browser.get("https://www.baidu.com") bro…