前言: 在做web自动化时,遇到一个缩放了浏览器比例的操作,从100%缩小到80%,再进行点击的时候,弹出报错信息,无法点击 selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (117, 674) (Session info: chrome=76.0.3809.132) debug一下代…
安装了python2,使用pip安装了selenium,但是在使用时,报了“selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.” 网上查了一下解决办法,此处做下记录: 原因:使用pip安装selenium,默认安装的是最新版本的selenium,使用pip list查了一下我的selenium版本,是3.5.0的,firefox版本,是47.0.…
有一年多没写web自动化了,今天搭建环境的时候报了一个常见错误,但是处理过程有点闹心,报错就是常见的找不到驱动<selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH>,下载对应版本的驱动,放至chrome的安装目录的application下面,但是还一直报相同的错误(印象中一年之前遇到相同的问题不是这么处理的,但是记不起来),查了一些blog,找…
初次用IE浏览器运行自动化程序时,报错:selenium.common.exceptions.WebDriverException: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled…
问题原因: 没有安装相关的支撑driver https://npm.taobao.org/mirrors/chromedriver/ 下载对应的driver 放置到python路径下…
此时,需要自己配置geckodriver 下载geckodriver,地址:https://github.com/mozilla/geckodriver/releases 下载后解压得到geckodriver.exe 将geckodriver.exe放到Firefox的安装目录下 将火狐安装目录添加到环境变量path中 重启IDLE…
记录在使用selenium过程中踩的坑------ 在使用selenium时,用click点击网站弹出的文件上传框的"上传文件"按钮不生效,报错selenium.common.exceptions.InvalidArgumentException log如下: test_xxxxxx.py::test_xxxxxxx FAILED [100%]Traceback (most recent call last): File "F:\xxxxxxxx\page\BasePage.…
报错 Traceback (most recent call last): File "C:/myFiles/code/cnki/cnki_1/core/knavi.py", line 281, in <module> main() File "C:/myFiles/code/cnki/cnki_1/core/knavi.py", line 270, in main periodical(driver, i["periodical_herf&q…
当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码: 1.首先新建配置文件*.ini格式 config.ini [db] #基础地址: baseurl = http://192.168.xxx #参数: m_user = 13077997162 m_pass = 123456 2.调用configparser模块进行读取文件操作,没有的自行下载 login.py import configparser def mlogin(): ''' 登录函数 :retur…
Selenium是UI层WEB端的自动化测试框架,也是目前市面上比较流行的自动化测试框架. ui层自动化测试本质是什么?模拟用户的真实操作行为. 基础汇总: 导入所需要的模块 from selenium import webdriver import time 生成一个driver变量 driver = webdriver.Firefox() #浏览器最大化 # driver.maximize_window() #自定义浏览器的宽和高 # driver.set_window_size(,) ur…
工具下载地址:链接:https://pan.baidu.com/s/1cHdNHW 密码:56bp说明:1.WinSpy-1.0.2.7z解压即可.2.pywin32的exe程序,根据自己安装的python版本来选择.双击安装即可.3.如果第2步执行不成功,或者没有匹配的版本,从以下命令中选一个安装:命令1:pip install pypiwin32命令2:python -m pip install pypiwin32…
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去掉验证码 1.手动在请求中添加cookies信息 url = "http://www.baidu.com" driver = webdriver.Firefox() driver.get(url) time.sleep() #添加cookies的方式 c1 = {'domain': '.b…
web自动化测试框架抽取示例 例子:测试登录模块,对登录的账号和密码进行不同的case校验. 1.1.1 无优化代码login_1 package com.lee.auto.testFrome; import org.openqa.selenium.By; import org.openqa.selenium.chrome.ChromeDriver; public class login_1 { public static void main(String[] args) throws Inte…
什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片,都可以理解成元素,这些元素是由html代码构成的,比如图片可以用<img>标签来展示,一个输入框可以用<input>标签来表示...... 如上图的百度搜索框,通过HTML源码,我们可以看到下图的代码: 它是一个input,其中有type.class.name.id等属性,我们可以根据这些属性值来定位元素. Selenium 功能丰富的API 提供了多个定位策略如:Name.ID.CSS 选择器.XP…
今天在写selenium一个发送邮件脚本时,遇到一些没有找到页面元素的错误.经过自己反复调试,找原因百度,终于解决了.简单总结一下吧,原因有以下几点: 一:Frame控件嵌套,.Frame/Iframe原因定位不到元素: 一般大家经常使用的邮箱算是frame嵌套的典型,通常注册登录都是在一个frame控件里面,而且标题正文可能是frame中嵌套iframe,接下里用我今天的脚本为例子(qq邮箱) 可以看到,如果我们要想找到收件人,标题就要先进到第一个Frame控件中,否则就会报错,但如果还要找到…
python-3.6.2 chrome 59.0.3071.115 chromedriver 2.9 安装python https://www.python.org/downloads/  (Window平台安装包,包格式为:python-XYZ.msi文件) 1.安装python-3.6.2 2.配置环境变量path中添加D:\Python36-32 3.cmd命令校验python安装成功 selenium安装 1.cmd下pip3命令查看命令是否有效 2.执行pip3 install sel…
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html ​ 本篇主要内容:1.元素的基本操作:2.等待操作:3.iframe操作:4.alert弹出框 ​ 下篇主要内容:1.鼠标操作:2.键盘操作:3.下拉框操作:4.js处理 元素基本操作 常用操作 ​ 关键代码: 点击:ele.click() 输入内容:ele.send_keys("内容") 清空内容:ele.cle…
python selenium自动化点击页面链接测试 需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面. 要完成这个需求就必须实现3点: 1. 找到原始页面上面所有的在本窗口内跳转的链接 2. 跳转到目标页面之后,“后退”到原始页面 3. 在原始页面上继续点击后续的链接 首先,要找到页面上的所有链接并不困难.selenium为我们提供了find_elements_by_tag_name方法…
文章转自 白月黑羽教Python 所有的 UI (用户界面)操作 的自动化,都需要选择界面元素. 选择界面元素就是:先让程序能找到你要操作的界面元素. 先找到元素,才能操作元素. 选择元素的方法 程序 怎么才能找到 要操作的 web 界面元素? 方法就是要根据这个 web 元素的 特征 去选择. 元素的特征怎么查看? 可以使用浏览器的开发者工具栏帮我们查看.选择web 元素. 请大家安装最新版的Chrome浏览器(可以百度搜索下载). 用chrome浏览器访问百度,按F12后,点击下图箭头处的E…
很多人刚开始使用python+appium去执行APP自动化的时候经常会遇到webdriver.Remote,报错位置指向都是driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub/',desired_caps)这行代码 很容易误导别人错认为是自己的webdriver发生了错误,此时应该如何排查这个问题,以下将举例说明 当发生以下错误的时候 Traceback (most recent call last):File "E:\Workpla…
建议以下帖子: 教你在Windows上搭建Python+Selenium环境:https://blog.csdn.net/huilan_same/article/details/52888262 python webdriver 的异常:https://blog.csdn.net/huilan_same/article/details/52815047 Selenium库的使用:https://blog.csdn.net/weixin_36279318/article/details/79475…
构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试. 1.在IE浏览器上运行测试脚本,首先需要下载IEDriverServer.exe,放在IE浏览器的安装目录且同级目录下,脚本如下: import os from selenium import webdriver from selenium.webdriver.common.keys import Keys…
在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…
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第七篇博文 二.Selenium前六篇博文地址: [Selenium01篇]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! [Selenium02篇]python+selenium实现Web自动化:鼠标操作和键盘操作! [Selenium03篇]…
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博文 二.Selenium第一篇博文地址: [Selenium01篇]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! 三.Selenium之鼠标操作和键盘操作 1.鼠标事件 在webdriver中,鼠标操作的方法封装在 ActionChai…
实战项目 均来源于互联网 测试报告2017年11月29日优化后的测试报告:https://github.com/defnngj/HTMLTestRunner 1.项目概述: 本实战已126邮箱为例子进行了实战,对登录.写邮件.发送邮件.删除邮件.退出登录进行了自动化测试: 测试完成后自动发送测试报告到指定邮箱 目录结构: auto_working目录: report                         ---> 目录用于存放测试报告 test_case                …
问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素定位,而Web网页是单独的B/S架构,两者的运行环境不同因此需要进行上下文(context)切换,然后对H5页面元素进行定位操作. context 关于应用程序环境的全局信息的接口. 这是一个抽象类,其实现由Android系统提供. 它允许访问特定于应用程序的资源和类,以及对应用程序级…
1 Selenium Web 自动化 - Selenium(Java)环境搭建 2 Selenium Web 自动化 - 如何找到元素 3 Selenium Web 自动化 - Selenium常用API 4 Selenium Web 自动化 - 项目实战环境准备 5 Selenium Web 自动化 - 项目实战(一) 6 Selenium Web 自动化 - 项目实战(二) 7 Selenium Web 自动化 - 项目实战(三) 8 Selenium Web 自动化 - 项目持续集成 9…
在写完上一篇“基于Selenium的Web自动化框架”(http://www.cnblogs.com/AlwinXu/p/5836709.html)之后一直没有时间重新审视该框架,正好趁着给同事分享的机会,重新分析了一下框架,发现了很多不足之处,所以才有了这篇增强版. 到底在框架的哪一部分做了增强呢?这次主要从设计模式的角度来简单介绍一下. 首先我们来看一下之前是如何书写页面模式中的类的: BasePage: class BasePage(object): """descri…
Toast简介 Toast是一种简易的消息提示框. 当视图显示给用户,在应用程序中显示为浮动.和Dialog不一样的是,它永远不会获得焦点,无法被点击. 用户将可能是在中间键入别的东西.Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到. 而且Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失. 举个例子:下方图片就是淘宝退出app时出现的toast信息 如果用 UI Automation Viewer这个工具是无法定位到的,那么如何进行定位呢? 这个…