随笔分类 -  Selenium

摘要:在web自动化中,我们会遇到上传这种场景,大致分为两种。 一.input标签的上传 对于input标签的上传我们可以直接输入路径,流程为: 1. 定位到上传路径输入框的input 2. 直接使用sendKeys 方法 ,输入正确格式的路径 示例代码如下: driver.find_element_by 阅读全文
posted @ 2020-03-13 18:12 吃个鱼丸 阅读(1416) 评论(0) 推荐(0)
摘要:在web自动化中,我们会遇到日历控制这种场景,大致分为两种。 1.可以直接输入日期; 2.不能够直接输入日期,只能选择。 对于可以直接输入日期的我们可以用webdriver 去设置日期,流程为: 1. 定位到该日期输入的input 2. 直接使用sendKeys 方法 ,输入正确格式的日期 示例代码 阅读全文
posted @ 2020-03-13 16:11 吃个鱼丸 阅读(620) 评论(0) 推荐(0)
摘要:selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了。 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。 滚动条是无法直接用定位工具来定位的。sele 阅读全文
posted @ 2020-03-13 15:33 吃个鱼丸 阅读(878) 评论(0) 推荐(0)
摘要:我们在做UI自动化时,不得不会遇到一些窗口跳转与弹框,在这种的时候如果不进行切换的话,继续执行脚本必然会报错,所以我们就需要用到切换窗口的方法。 selenium中主要是三种窗口Windows窗口、iframe窗口、alert窗口,前面已经介绍过iframe和alert弹窗的切换,本节只介绍切换wi 阅读全文
posted @ 2020-03-12 21:39 吃个鱼丸 阅读(1579) 评论(0) 推荐(0)
摘要:下拉框操作: 一般下拉框适用场景:在新增时有下拉框选项,在二级联动或多级联动有下拉(比如:在选择省市县时的多级联动下拉、日期控件等)。 一般下拉框功能有以下两个: 1.菜单栏-点击其中的某个链接跳转 2.对下拉列表的元素进行操作。 下拉框选择都有select的标签属性,存在两个属性select和op 阅读全文
posted @ 2020-03-12 21:20 吃个鱼丸 阅读(2079) 评论(0) 推荐(0)
摘要:平常我们会用到很多快捷键,selenium提供了比较完整的键盘操作。首先使用快捷键需要导入以下这个包 from selenium.webdriver.common.keys import Keys 然后在通过Keys去调用一些方法,如: 全选 send_keys(Keys.CONTROL,'a') 阅读全文
posted @ 2020-03-12 20:49 吃个鱼丸 阅读(1308) 评论(0) 推荐(0)
摘要:selenium自动化中,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChains。 主要操作流程: 1.存储鼠标来操作; 2.perform()来执行鼠标操作。 示例如下: from sele 阅读全文
posted @ 2020-03-12 20:39 吃个鱼丸 阅读(568) 评论(0) 推荐(0)
摘要:弹出框有两种: 1.页面弹出框 2.alert弹出框 1.页面弹出框的操作 页面弹出框是一个HTML页面的元素,只不过是由用户在页面的操作触发弹出的,所以执行这一类型的弹窗都是: 1.执行触发操作之后,等待弹窗出现; 2.再定位弹出框的元素并操作 代码示例如下: from selenium impo 阅读全文
posted @ 2020-03-12 20:02 吃个鱼丸 阅读(2836) 评论(0) 推荐(0)
摘要:iframe:一个网页里面嵌套了另一个框架/页面,即在一个HTML页面中还内嵌了另外一个HTML页面,只不过这个内嵌的HTML是放在</frame></iframe>标签对中。 在python3.8中对应的selenium提供了两种方法来获取iframe中的内容: 方式一:driver.switvh 阅读全文
posted @ 2020-03-12 18:40 吃个鱼丸 阅读(4055) 评论(0) 推荐(0)
摘要:页面自动化中,不得不提的元素等待操作,selenium为我们提供了三大等待方式:强制等待、隐性等待和显性等待 1.强制等待:time.sleep(秒) 如果使用time.sleep(10)表示让程序死等10秒钟,无论发生什么都会在10秒后再去执行后续的代码。 智能等待分为:隐性等待、显性等待 2.隐 阅读全文
posted @ 2020-03-12 18:17 吃个鱼丸 阅读(1689) 评论(0) 推荐(0)
摘要:from selenium import webdriver import time # 开始会话 driver = webdriver.Chrome() # 隐性等待 全局有效,从打开到关闭 # driver.implicitly_wait(30) # 全屏 driver.maximize_win 阅读全文
posted @ 2020-03-11 21:29 吃个鱼丸 阅读(305) 评论(0) 推荐(0)
摘要:from selenium import webdriver import time #浏览器启动前先读取用户信息 option=webdriver.ChromeOptions() option.add_argument(r"user-data-dir=C:\Users\ADMINI~1\AppDa 阅读全文
posted @ 2020-03-11 21:20 吃个鱼丸 阅读(335) 评论(0) 推荐(0)
摘要:selenium提供的xpath定位方法名: driver.find_element_by_xpath(xpath表达式) xpath定位是将整个HTML看成一个树形结构。HTML节点为根节点。页面当中节点与其他节点可以有祖先、父辈、兄弟、后代这样的关系存在,类似于我们人类的家庭关系。 xpath基 阅读全文
posted @ 2020-03-11 21:00 吃个鱼丸 阅读(15525) 评论(0) 推荐(2)
摘要:1.ID定位 元素id的值在当前整个HTML页面当中是唯一的,所以可以通过id属性来唯一定位这个元素 示例代码: driver.find_element_by_id("kw) 注意有些系统中元素id每次访问都不一样,这种情况下就不适合用id来定位元素。 2.name定位 示例代码: driver.f 阅读全文
posted @ 2020-03-11 18:03 吃个鱼丸 阅读(602) 评论(0) 推荐(0)
摘要:配置好python和selenium以及浏览器驱动环境后就可以编写自动化测试代码了。(前期功能熟悉测试用例编写好) 三大浏览器启动代码如下: 1.chrome from selenium import webdriver #实例化Chrome类,与Chromedriver建立连接,启动一个干净的ch 阅读全文
posted @ 2020-03-11 17:27 吃个鱼丸 阅读(529) 评论(0) 推荐(0)
摘要:一、简介 selenium是一款基于web网页的UI自动化测试框架。 1.支持多浏览器操作,IE、firefox、chrome、edge、Safari等 2.跨平台,windows、linux、Mac都可以 3、支持多语言,python、java、ruby、c#等 二、selenium webdri 阅读全文
posted @ 2020-03-10 23:44 吃个鱼丸 阅读(1211) 评论(0) 推荐(0)
摘要:web自动化是代码与浏览器之间进行交互,由代码发送命令来驱动浏览器执行响应操作。 安装内容如下: 1.python环境; python环境的安装可参考:https://www.cnblogs.com/Simple-Small/p/9179061.html 注意配置环境变量 方便使用python命令和 阅读全文
posted @ 2020-03-10 23:33 吃个鱼丸 阅读(249) 评论(0) 推荐(0)
摘要:问题1: python自动化测试脚本报错,报错信息如下:selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing,之前一直运行的好好的。 :问题原因: chr 阅读全文
posted @ 2018-04-24 10:59 吃个鱼丸 阅读(603) 评论(0) 推荐(0)