随笔分类 - Selenium
摘要:POM是Page Object Model的简称,它是一种设计思想,意思是,把每一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为。 POM一般使用三层架构,分别为:基础封装层、页面对象层、测试用例层。 目录结构大致如下 下面简单介绍下我的POM架构实现方式。 基础封装层
阅读全文
摘要:selenium截图有两种方式 截取全屏 get_screenshot_as_file(filename):将截图转化成文件保存到本地,filename为保存的文件路径 get_screenshot_as_base64():将截图转化成base64 get_screenshot_as_png():将
阅读全文
摘要:select标签的下拉框可以使用selenium的 Select模拟下拉框选择操作。 Select需要导入才能使用,导入路径如下 from selenium.webdriver.support.ui import Select 下面以hao123(https://www.hao123.com) 演示
阅读全文
摘要:与switch_to.window 和 switch_to.frame 相比,switch_to.alert的alert方法使用了@property 装饰器,所以在使用时alert被当成属性调用。 演示如下 from selenium import webdriver driver = webdri
阅读全文
摘要:与在新窗口打开一个网页后需要切换窗口才能定位元素一样,在iframe标签中的元素也不能直接定位,需要切换到对应的iframe框架中才能进行元素定位。 完成网页框架切换操作需要用selenium中的两个方法 driver.switch_to.frame(frame_reference):切换到网页框架
阅读全文
摘要:想一下这样的场景,打开页面A点击一个链接,在一个新的窗口打开页面B,由于之前的driver实例对象在页面A,但是你接下来操作的元素在页面B中,此时脚本就会报错找不到元素。该场景需要使用到selenium的switch_to.window()方法进行窗口切换。 演示场景:打开百度首页(页面A),点击新
阅读全文
摘要:selenium的包含的方法已能完全满足UI自动化,但是有些时候又不得不用到执行JS的情况,比如在一个富文本框中输入1W个字,使用send_keys方法将经历漫长的输入过程,如果换成使用JS的innerHTML方法就能够很快的完成输入。 selenium执行JavaScript代码的方法有两种: 执
阅读全文
摘要:简单写个单选框和复选框界面 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>test</title> </head> <body bgcolor="burlywood"> <form> <input type="radio"
阅读全文
摘要:模拟键盘键盘和鼠标操作主要使用到selenium的keys包,源码如下 class Keys(object): """ Set of special keys codes. """ NULL = '\ue000' CANCEL = '\ue001' # ^break HELP = '\ue002'
阅读全文
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 定位属性 el = driver.find_elemen
阅读全文
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 获取当前界面的handle(handle用于窗口切换)
阅读全文
摘要:import time from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 窗口最大化 driver.max
阅读全文
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 获取浏览器名称 browserName = driver
阅读全文
摘要:import time from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") driver.find_elemen
阅读全文
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 定位元素 input_box = driver.find
阅读全文
摘要:Selenium操作页面上的文本输入框、按钮、单选框、复选框等,凡是能在页面显示的任何元素都需要先对元素进行定位。 Selenium提供了以下方法来定位页面中元素: find_element_by_id:通过id属性值进行匹配查找,返回匹配到的第一个元素,未匹配到就报错 find_element_b
阅读全文
摘要:Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 Selenium基本上支持主流的浏览器,包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。 接下来以Chrome浏览器为例演示如
阅读全文
摘要:这些方式仅供参考,实际使用体验并不好,最好对find_element()方法进行二次封装。 # coding=utf-8 from time import sleep from selenium import webdriver from selenium.webdriver.common.by i
阅读全文