selenium3 + python3 - alert定位】的更多相关文章

一.alert\confirm\prompt弹出框操作主要方法有: text:获取文本值 accept() :点击"确认" dismiss() :点击"取消"或者叉掉对话框 send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框 二.认识alert\confirm\prompt弹出框 三.alert操作 1.先用switch_to_alert()方法切换到alert弹出框上 2.可以用text方法获取弹出的文本 信息…
Python3 Selenium定位不到元素常见原因及解决办法 一.问题描述 在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况: 报错信息: no such element: Unable to locate element: {"method":"xpath","selector":"xpath"} 二.分析以及解决方案 1,原因一以及解决方案 (1)原因: Frame/Iframe原…
前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table 2.HTML源码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Table 测试模板</title>…
1.前言: 对于初学者来说,python自带的IDLE,精简又方便,不过一个好的编辑器能让python编码变得更方便,更加优美些. 不过呢,也可以自己去下载其他更好用的代码编辑器,在这推荐: PyCharm,这是一个专门为python而开发设计的编辑器,功能齐全,方便实用. Sublime Text,它不仅仅提供python编译,上面可以运行多种语言.画面精简美观,功能特别强大,可以自己设计一些参数调试编辑器功能.不过对于初次接触的人,安装python编译环境比较麻烦. 2.前提: seleni…
前言: 对于初学者来说,python自带的IDLE,精简又方便,不过一个好的编辑器能让python编码变得更方便,更加优美些. 不过呢,也可以自己去下载其他更好用的代码编辑器,在这推荐: PyCharm,这是一个专门为python而开发设计的编辑器,功能齐全,方便实用. Sublime Text,它不仅仅提供python编译,上面可以运行多种语言.画面精简美观,功能特别强大,可以自己设计一些参数调试编辑器功能.不过对于初次接触的人,安装python编译环境比较麻烦. 前提: selenium3+…
一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元素基本定位方式进行总结归纳一下. Selenium提供了8种定位方式. id name class name tag name link text partial link text xpath css selector 这8种定位方式在Python selenium中所对应的方法为: find_e…
selenium基础实战之定位网页元素技巧 selenium定位网页元素 find_element_by_id,find_element_by_name,find_element_by_class_name 1).开启浏览器 browser = webdriver.Firefox(); 2).打开网页 browser.get("http://baidu.com") 使用python判断是否正确 browser.title 或者 browser.current_url 3).定位元素的8…
参考http://www.cnblogs.com/yoyoketang/p/6123890.html   #coding=utf-8 from selenium import webdriverdriver = webdriver.Firefox()driver.get("https://www.baidu.com")#<input id="kw" class="s_ipt" type="text" autocomple…
断言Assertion 验证应用程序的状态是否同所期望的一致. 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选. selenium 提供了三种模式的断言:assert .verify.waitfor Assert 失败时,该测试将终止. Verify 失败时,该测试将继续执行,并将错误记入日显示屏 .也就是说允许此单个 验证通过.确保应用程序在正确的页面上 Waitfor 用于等待某些条件变为真.可用于 AJAX 应用程序的测试. 如果该条件为真,他们…
第六章 自动化测试进阶实战篇幅 1.自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2.自动化测试之页面常见弹窗处理 简介:讲解使用selenium处理页面弹窗,alert和comfirm 弹窗常用方法(需要先切换窗口  switch_to_alert() ) accept() 表示接受 dismiss() 表示取消 3.高级知识点自动化测试之验证码常见解决方案 简介:自动化测试之常见验证码解决方案 1.破解验证码 OCR识别: tesser…
第一章 自动化测试课程介绍和课程大纲 1.自动化测试课程介绍 简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平 python3.7+selenium3 pycharm 第二章自动化测试相关软件安装 1.自动测试工具selenium介绍 简介:介绍selenium自动化测试工具 为什么用selenium工具 1 -> 2 -> 3 1.主流,各大公司都有用,开源免费社区活跃 2.支持主流浏览器 火狐FireFox.谷歌chrome.IE(不建议) 3.支持多个语言,如pyth…
(我也是小白,刚开始接触自动化,以下内容是我自己在配置环境的时候遇到的问题及解决方法,是后面才记录的要是有什么遗漏或者问题,欢迎帮忙指出来.)1.1首先下载python下载网址:https://www.python.org/downloads/这里我没有选择最新的版本而是选择了近两年的版本,由于python2现在几乎不用了,所以我选的是windows python3 64位操作系统版本进行安装.(这里直接找一个安装教程按照步骤进行安装即可)注意:这里勾选add Python xx to PATH…
一.Select模块(index)     1.导入Select模块.直接根据属性或索引定位     2.先要导入select方法:from selenium.webdriver.support.select import Select     3.然后通过select选项的索引来定位选择对应选项(从0开始计数),如选择第三个选项:select_by_index(2) select_by_index()  :通过索引定位select_by_value()  :通过value值定位select_b…
等待 一.等待是什么,为什么要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等, 这时候,我们就需要使用等待,来判断上一步操作是否完成,什么时候可以进行下一步操作.否则,上一步操作如果花费的时间较长, 还没有完成,就去进行下一步操作,这时就会产生无法定位到元素,元素状态不正确,数据校验结果不正确等异常. 在Selenium中常用的等待分为显示等待WebDriverWait(),隐式等待implicitly_wait(),…
警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法进行操作. text:返回 alert/confirm/prompt 中的文字信息. accept():接受现有警告框. dismiss():解散现有警告框. send_keys(keysToSend):发…
安装python 官网直接下载当前最新版的python Python官网地址:https://www.python.org/ 百度搜索Python3.6安装步骤 Python安装步骤:自行百度,暂不提供 安装selenium 安装好Python3之后,默认就会有pip,使用pip进行安装: pip install selenium 安装Firefox geckodriver 下载最新版geckodriver 官网地址:https://github.com/mozilla/geckodriver/…
本篇内容主要表述以下几个问题: 1.iframe 这个是什么? 2.定位iframe 标签时遇到的几个报错总结. 3.显示等待与隐示等待的原理与优缺点. 4.无name,ID可变情况下的处理方式 5.frame标签中嵌套iframe标签时的处理思路 最开始根本没想到这个事情,就按照正常的方式操作,结果,,,这都是什么鬼.怎么都定位不到这个元素,不能进行下一步. 后来了解了一下,原来是iframe这个鬼东西在捣乱. 一.先说一下这个是什么东西 . firame: Iframe标记又叫浮动帧标记,可…
前言: 最近在做IOS自动化测试,IOS的Appium环境都配置OK,执行起来真的慢,慢到怀疑人生,那么今天就来总结一下IOS定位方式和各个定位方式的速度排序. 据我观察,按查找元素的顺序速度,从快到慢的顺序如下: ios_predicate >> accessibility_id >> class_name >>xpath 注⚠️:(论坛比较多的说法是class_name>>accessibility_id,在这里我们姑且认为它们的速度是一样的.) 1.元…
一.安装Python https://www.python.org/downloads/ 验证Python是否安装成功.打开Windows命令提示符(cmd),输入python,回车 注意:在安装的过程中需要勾选:“Add Python 3.x to PATH” , 如果没有勾选,需要在安装完成之后,将Python的安装目录(如:C:\Python36)添加到环境变量PATH下面. 二.安装selenium 1.Pycharm安装selenium 验证selenium是否安装成功 三.selen…
控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小.WebDriver提供了set_window_size()方法来设置浏览器的大小. 如果页面没有最大化,可以调用driver.maximize_window()将浏览器最大化,相当于点击了页面右上角的最大化按钮,maximize_window()方法不需要参数. 值得注意的是,在定位元素的时候,有些网页如果不是全屏展示时,将有可能定位不准!!! 下面举例源码如下: from seleniu…
之前使用的环境:selenium2.53.6+Firefox44+Python2.7,没有问题,最近想尝试一下新的环境,就搭了个selenium3的环境,过程是挺坎坷的,花费了一天的时间,各种报错,最终稳定环境: Windows7(也可Windows10) selenium 3.7.0 Firefox 54.0 Python 3.6.2 geckodriver-v0.19.1-win64 一.过程中遇到的问题: 1.报错:selenium.common.exceptions.WebDriverE…
在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改.从今天开始我们就慢慢从low代码一步一步的学习框架知识. 首先当我们测试环境有了之后我们需要做得就是去配置我们的driver,这里的driver你可以理解为就是我们脚本和浏览器之间的桥梁.在selenium里面一些简短的教程会这样写: #coding=utf-8 from selenium import webdriver driver = webdriver.Chrome() 有的…
from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support.sel…
一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class="s_ipt" type="text" autocomplete="off" maxlength="100" name="wd"/> 3.css用#号表示id属性,如:#kw 4.css用.表示clas…
什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来查找到这个元素的,相当于通过定位一个对象的坐标,来找到这个对象. 一.xpath:属性定位 1.xptah也可以通过元素的id.name.class这些属性定位,如下图 2.定位方法如下: from selenium import webdriverdriver = webdriver.Chrome…
自动化测试实战之ActionChains模拟用户行为 需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽 解决:selenium提供了一个类来处理这类事件 selenium.webdriver.common.action_chains.ActionChains(driver) 脚本: from selenium.webdriver.common.action_chains import ActionChains 执行原理: 调用ActionChains的方法时不会立即执行,会将所…
调用JavaScript代码 一.调用JavaScript代码方法 Selenium在对浏览器操作时会有自动化代码中不稳定的部分,经常出错的部分,可以将这部分对网页元素进行操作的代码换成对应的JavaScript脚本,由于浏览器原生的支持JavaScript,JavaScript代码直接在浏览器内核中执行,就不会出现元素不在所点击的位置等错误,可以大大提高自动化用例执行的稳定性和执行效率. 调用JavaScript方法有两种: 1.execute_script():此是同步方法,用它执行js代码…
from selenium import webdriver import unittest,time class my_test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.url = "这里是url" def test_1(self): self.driver.get(self.url) pageensi = self.driver.page_source#这里是爬页面源码的函…
一.鼠标事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供. ActionChains 类提供了鼠标操作的常用方法. ActionChains 类的成员源码如下图所示: 下面我们通过一张表对上图中对外使用的成员进行分类(即带下划线的成员不放入下表): 分类 函数名 描述 鼠标操作 def click(self, on_element=None) 鼠标左键单击 鼠标操作 def click_and_hold(self, on_element=Non…
在前面一个章节我们知道了如何通过webdriver去初始化我们得driver,然后我们只需要通过driver就能够去做我们得自动化,首先我们知道我们需要知道得是当我们有driver之后,我们剩下得就是去操作我们得浏览器,当我们打开得时候默认得是一个中等窗口得浏览器,如果你打开后需要去将整个窗口最大化,我们只需要通过下面得方法: driver.maximize_window() 这里通过这个方法可以直接将浏览器最大化,当然这里说的是当前driver的浏览器,无论你初始化的chrome浏览器还是fi…