前言 selenium+phantomjs可以打开无界面的浏览器,实现静默模式启动浏览器完成自动化测试,这个模式是极好的,不需要占用电脑的屏幕. 但是呢,phantomjs这个坑还是比较多的,并且遇到问题也看不到页面,无法排查问题. 事实上Chrome浏览器也是可以实现静默模式,在电脑上不显示页面,也能实现自动化测试. 小编环境: python 3.6 selenium 3.6.0 chrome 63.0.3239.84 chromdriver 2.33.506120 (我这个配置是亲测可行的,…
一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.设置休眠 1.由于打开百度网址后,页面加载需要几秒钟,所以最好等到页面加载完成后再继续下一步操作 2.导入time模块,time模块是Python自带的,所以无需下载 3.设置等待时间,单位是秒(s),时间值可以是小数也可以是整数 三.页面刷新 1.有时候页面操作后,数据可能没及时同步,需要重新刷新 2.这里可以模拟刷新页面操作,相当于浏…
1.下载chromedriver.exe文件: 2.下载的chromedriver.exe文件放置在chrome的安装目录下XXX\Chrome\Application\ ; 3.设置path环境变量XXX\Chrome\Application,重新打开eclipse driver=webdriver.Chrome()…
一.使用Chrome做的时候,会看到浏览器上方出现‘Chrome正在受到自动软件的控制’的提示语, 若想忽略此提示信息,在浏览器配置里加个参数:disable_infobars 代码如下 : # coding:utf-8 from selenium import webdriver # 设置配置 option = webdriver.ChromeOptions() option.add_argument('disable-infobars') # 打开Chrome浏览器 d1 = webdriv…
安装启动chromedriver的方法和ie类似 2.启动chrome 即selenium调用ChromeDriver打开Chrome浏览器 ①下载并解压,你会得到一个chromedriver.exe文件 ② 将解压后的exe文件放到c:\python35 中(因之前安装python时已设置了c:\python35为环境变量,根据自己的安装路径和环境变量路径来定) ③调用启动 (附上代码) __author__ = 'admin' #作者 # -*- coding:utf-8 -*- # 建议所…
前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击,学会使用键盘的快捷键操作,也能达到一样的效果. 之前讲过一篇Selenium2+python自动化75-非input文件上传(SendKeys)这个当时是基于python2写的. 最近很多小伙伴开始用python3了,这个SendKeys在python3上没法用,python3需要用PyUserIn…
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用SendKeys解决 只支持python2环境 python3 的用 PyUserInput 看这篇 selenium+python自动化85-python3.6上SendKeys报错用PyUserInput取代 一.下载场景 1.当点到下载按钮时候,会弹出如下页面 2.如果想点“保存文件”按钮,解决…
    chrome浏览器 配置开机启动全屏(看板app模式设置) 1.下载安装chrome浏览器. 2.建立一个chrome浏览器的快键方式,右键打开属性,如下图: 3.将目标选项卡的值修改为:"C:\Documents and Settings\Administrator\Local Settings\ApplicationData\Google\Chrome\Application\chrome.exe" --app= www.baidu.com  注释:a.值的配置为“谷歌浏览…
环境准备 前言 selenium在windows机器上运行,每次会启动界面,运行很不稳定.于是想到用chrome来了的headless无界面模式,确实方便了不少. 为了提高自动化运行的效率和稳定性,于是把selenium自动化环境部署到linux服务器上,这样更方便. 环境: centons 7.6 python 3.6 chrome 77.0.3865.90 chromedriver 77.0.3865.40 selenium 3.14 安装最新版chrome 方法一:下载到本地后安装 先下载…
一:自动化测试的时候,启动浏览器出现‘Chrome正在受到自动软件的控制’,怎么样隐藏,今天学习分享: 在浏览器配置里加个参数,忽略掉这个警告提示语,disable_infobars option = webdriver.ChromeOptions() option.add_argument('disable-infobars') 参考代码: # coding:utf-8 from selenium import webdriver # 加启动配置 option = webdriver.Chro…
前言 使用selenium 做web自动化的时候,经常会遇到这样一种需求,是否可以在已经打开的浏览器基础上继续运行自动化脚本? 这样前面的验证码登录可以手工点过去,后面页面使用脚本继续执行,这样可以解决很大的一个痛点. 命令行启动浏览器 首先右键Chrome浏览器桌面图标,找到chrome.exe的安装路径 复制地址C:\Program Files\Google\Chrome\Application 添加到环境变量Path下 打开cmd输入命令启动chrome浏览器 --remote-debug…
前言 chrome手机wap模式登录淘宝页面,点击验证码无效问题解决. 切换到wap模式,使用TouchActions模块用tap方法触摸 我的环境 chrome 62 chromedriver 2.33 遇到问题 1.登录手机版淘宝时候,验证码无法通过点击事件触发 [wap版淘宝](https://login.m.taobao.com/msg_login.htm?spm=0.0.0.0) F12手机模式 1.按f12,点下图按钮(Toggle device toolbar)切换成手机模式 2.…
Chrome浏览器与chromedriver.exe驱动可以是官网上最新的, 随意! Chrome.py: from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWait options = webdriver.ChromeOptions()options.add_argument("disable-infobars")driver = webdriver.Chrome(ch…
前言 背景介绍:做wap页面自动化的时候,把url地址直接输入到浏览器(chrome浏览器有手机wap模式)上测试,有个按钮死活点不到,用wap模式的触摸事件也无法解决,后来想用jquery去执行点击. 发现报$ is not defined. # coding:utf-8 # 作者:上海-悠悠 import time from selenium.webdriver.chrome.options import Options from selenium import webdriver from…
一.Python安装 1.操作系统:win7 64位系统 2.下载Python安装包,选择2.7版本和3.6版本都可以(最好安装2.7版本稳定)官网下载地址:https://www.python.org/ 3.Python安装,双击傻瓜式安装 4.安装目录在d盘:D:\python 二.环境变量 1.安装完成后,看下这个目录D:\python\Scripts,有没pip.exe和easy_install.exe这两个文件(一般都有) 2.将D:\python和D:\python\Scripts路…
1.selenium安装: pip install -U selenium参考:https://pypi.python.org/pypi/selenium#downloads2.下载firefox驱动:https://github.com/mozilla/geckodriver/releases3.把geckodriver.exe所在目录配置到path环境变量4.一个简单示例: from selenium import webdriver driver=webdriver.Firefox() #…
遇到问题 报错信息:sys.meta_path is None, Python is likely shutting down 1.我的环境: python 3.6 selenium 2.53.6 chrome 65 chromedriver 2.33.50 2.执行代码: # 作者:上海-悠悠 from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.cnblogs.com/yoyoke…
为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用. 一.操作浏览器的Cookie 1.1.验证码的处理方式 说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式: 方式:1). 去掉验证码(测试环境下-采用)2). 设置万能验证码(生产环境-采用)3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码:识别率很难达到100%)4). 记录cookie(通过记录…
前言 登录页面会遇到滑动解锁,滑动解锁的目的就是为了防止别人用代码登录(也就是为了防止你自动化登录),有些滑动解锁是需要去拼图这种会难一点. 有些直接拖到最最右侧就可以了,本篇讲下使用 selenium web 自动化的时候如何滑动解锁. 滑动解锁场景 看下图,是我本地写的一个 slider.html 网页 除了输入账号和密码,还需将滑块拖动到最右端才能解锁 最后才去点登陆按钮 ActionChains 滑动滑块 查看 ActionChains 使用源码,相关介绍 ActionChains是一种…
出现问题 1.用selenium启动浏览器出现'Chrome正在受到自动软件的控制' 2.如果不想看到这种讨厌的提示语,启动浏览器时候加个配置就行了 disable-infobars 1.在浏览器配置里加个参数,忽略掉这个警告提示语 option = webdriver.ChromeOptions() option.add_argument('disable-infobars') 参考代码 # coding:utf-8 from selenium import webdriver # 加启动配置…
利用selenium+python写的一个关于登录的自动化脚本…
前言 web页面操作的时候经常会遇到一闪而过的 dialog 消息,这些提示语一般只出现了几秒,过后元素节点就会在DOM中消失了. 本篇讲解下用chrome 浏览器如何定位一闪而过的 dialog 消息 dialog 场景 当点保存按钮后,页面弹出保存成功的提示框,这个提示框过1-2秒会自动消失 首先我们需要定位到此元素上,查看元素的属性相关信息,按f12 后鼠标还没来得及指上去就消失了,或者刚指上去,dom里面的元素就不见了. 暂停 dialog 打开chrome 浏览器,f12 后查看,打开…
Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ···························································································································…
安装好python.selenium工具后,下一步就是启动浏览器 1.启动IE浏览器 即Selenium 调用IEDriverServer打开IE浏览器 ,因此需下载对应的IEDriverServer ①下载IEDriverServer 选择版本号,IEDriverServer的版本号和Selenium的版本号一定要一致,因为我选择的是selenium-3.0.1,所以IEDriverServer也选择的是3.0.1版本的. ② 解压缩得到IEDriverServer.exe,并将其添加到环境变…
1.安装浏览器 # apt-get install gonme # apt-get update # apt-get install google-chrome-stable 2.启动Chrome浏览器 # google-chrome 这时会报错:[31560:31560:0207/085601.085852:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. Se…
火狐浏览器自身适配selenium   因此不需要再安装 直接代码启动: __author__ = 'admin' #作者 # -*- coding:utf-8 -*- # 建议所有都加编码 from selenium import webdriver #导入webdriver包 driver = webdriver.Firefox() # 使用Firefox浏览器 driver.get("http://www.baidu.com") driver.find_element_by_id…
前言 如果想用多个浏览器跑同一套测试代码,driver=webdriver.Firefox()这里的driver就不能写死了,可以把浏览器名称参数化. 后续如果想实现多线程同时启动浏览器执行用例,用前面讲的tomorrow模块,设置下线程数套用下就可以了 启动浏览器 1.为了实现多个浏览器的灵活切换,可以把启动浏览器写一个函数,参数用浏览器名称就行了 def startBrowser(name): """ 打开浏览器函数,"firefox"."c…
前言 前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API. 本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. 一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Ch…
前言前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API.本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作.一.打开网站1.第一步:从selenium里面导入webdriver模块2.打开Firefox浏览器(Ie和Chrome对…
随着测试行业的发展,现在不论在找工作还是在实际的工作中,对要求掌握自动化越来越普遍,在这里就记录一下一些入门的知识,希望对阅读者能有一些帮助吧!好哒,步入正题,这一篇主要记录下如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. 一.打开网站 1.第一步:从selenium中导入webdriver模块. 2.代开Firefox浏览器(Chrome和Ie对应下面的) 3.打开百度网址 在这里说一句写的时候注意下F…