随笔分类 -  python的selenium

摘要:import logginglogger=logging.getLogger()logger.setLevel(logging.DEBUG)#控制台输出日志'''consle=logging.StreamHandler()logger.addHandler(consle)'''#文件输出日志# fi 阅读全文
posted @ 2018-12-04 14:13 taotao12 阅读(405) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2018-11-28 12:52 taotao12 阅读(5) 评论(0) 推荐(0) 编辑
摘要:第一种: #滑到底部 js="var q=document.documentElement.scrollTop=100000" driver.execut_script(js) 目前在firefox,chrome上验证都是可以跑通的 #滑动到顶部 js="var q=document.documen 阅读全文
posted @ 2018-09-26 17:00 taotao12 阅读(3939) 评论(0) 推荐(0) 编辑
摘要:Chrome 对于chrome浏览器,有时候会有闪退的情况,也许是版本冲突的问题,我们要对照着这个表来对照查看是不是webdriver和chrome版本不对 chromedriver版本支持的Chrome版本 v2.37 v64-66 v2.36 v63-65 v2.35 v62-64 v2.34 阅读全文
posted @ 2018-09-24 21:11 taotao12 阅读(289) 评论(0) 推荐(0) 编辑
摘要:#coding=utf-8import HTMLTestRunnerimport BeautifulReportimport unittestclass MyTest(unittest.TestCase): @classmethod def setUpClass(cls): print("所有之前运行") @classmethod def tearDownC... 阅读全文
posted @ 2018-09-15 09:40 taotao12 阅读(2082) 评论(0) 推荐(0) 编辑
摘要:selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了。 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。 滚动条是无法直接用定位工具来定位的。sele 阅读全文
posted @ 2018-09-11 09:55 taotao12 阅读(317) 评论(0) 推荐(0) 编辑
摘要:有小伙伴在用脚本启动浏览器时候发现原来下载的插件不见了,无法用firebug在打开的页面上继续定位页面元素,调试起来不方便 。 加载浏览器配置,需要用FirefoxProfile(profile_directory)这个类来加载, profile_directory既为浏览器配置文件的路径地址 一、 阅读全文
posted @ 2018-09-11 09:54 taotao12 阅读(419) 评论(0) 推荐(0) 编辑
摘要:一、认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的;下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了。 二、radio和checkbox源码 1.上图的html源码如下,把下面这段复杂下来,写到文本里,后缀改成.html 阅读全文
posted @ 2018-09-11 09:52 taotao12 阅读(969) 评论(0) 推荐(0) 编辑
摘要:一、frame和iframe区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。 frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架 Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它 阅读全文
posted @ 2018-09-11 09:49 taotao12 阅读(501) 评论(0) 推荐(0) 编辑
摘要:CSS定位速度快,功能多,但是不能向上查找,比 xpath好用,是本人认为最好用的定位方式 1、*:checked 选中*的checked元素2、 li.refined.list.group.item (如果class中间有空格,可以.+.+.全写也可以只写任意一个) .checkbox[type^ 阅读全文
posted @ 2018-09-09 21:11 taotao12 阅读(108) 评论(0) 推荐(0) 编辑
摘要:这次将讲Xpath定位! 什么是Xpath: Path就是路径,xpath也类似,就像 在DOS中 D:\Auto\jack。 Xpath的使用: 1:在火狐下载 FirePath 插件(图1),然后在浏览器 F12 使用Xpath 能直接定位到元素,并且能够获取元素的Xpath(图2) Xpath 阅读全文
posted @ 2018-09-09 21:10 taotao12 阅读(240) 评论(0) 推荐(0) 编辑
摘要:# import nnlog# ## my_log = nnlog.Logger('dashu.log',when='D',backCount=5) # 日志名称 更新方式'D'时每天 backCount:最大保存数量# # my_log.debug("debug level")# # my_log 阅读全文
posted @ 2018-09-09 17:37 taotao12 阅读(247) 评论(0) 推荐(0) 编辑
摘要:跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活定位不到,这个时候就需要自己学会动手写xpath,人脑总比电脑聪明,开始把xpath语法给我学起来! 第1种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/ 阅读全文
posted @ 2018-09-09 16:36 taotao12 阅读(221) 评论(0) 推荐(0) 编辑
摘要:DOM(Document Object Model 文档对象模型) 一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象。可以通过dom对象中js提供的方法,找到html的各个标签。通过找到标签就可以操作标签使页面动起来,让页面动起来。 获取标 阅读全文
posted @ 2018-09-09 16:33 taotao12 阅读(142) 评论(0) 推荐(0) 编辑
摘要:在UI自动化测试过程中,经常会遇到一些下拉框,我们有三种可选方式来操作下拉框。 第一种方法 基于webdriver的两次click,很容易出现问题,不建议使用。(由于部分下拉框在点击一次后,失去焦点再点下一次时可能下拉框中的参数就消失了,那么就无法进行选择了,所以会出现无法定位到目标元素或目标元素不 阅读全文
posted @ 2018-09-09 16:28 taotao12 阅读(316) 评论(0) 推荐(0) 编辑
摘要:在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果你不做任何处理的话,代码会由于没有找到元素,而报错。这时我们就要用到wait(等待),而在Selenium中,我们可以用到一共三种等待,没一种等待都有自己的优点或缺点,如果选择最优的等待方式呢。来看下这三种等待方式吧。 time(固定等 阅读全文
posted @ 2018-09-09 16:25 taotao12 阅读(1700) 评论(0) 推荐(0) 编辑
摘要:ActionChains UI自动化测试过程中,经常遇到那种,需要鼠标悬浮后,要操作的才会元素出现的这种场景,那么我们就要模拟鼠标悬浮到某一个位置,做一系列的连贯操作,Selenium给我们提供了ActionChains模块。 引入方式 from selenium.webdriver.common. 阅读全文
posted @ 2018-09-09 16:22 taotao12 阅读(453) 评论(0) 推荐(0) 编辑
摘要:1.Css Selector支持ID、Class的定位 与HTML中CSS定位相同 # 号表id 定位有id的标签方式更加简洁 #i1 . 代表Class 定位有id的标签方式更加简洁 .c1 Class定位还提供了多个Class定位 通过连续 . 来缩小范围 .c1.c2.c3 2.Css Sel 阅读全文
posted @ 2018-09-09 16:19 taotao12 阅读(130) 评论(0) 推荐(0) 编辑
摘要:Xpath使用方法 注:默认死格式 先写 //* 代表定位页面下所有元素 1、Xpath支持ID、Class、Name定位功能 通过ID定位 //*[@id='kw'] 通过Class定位 //*[@class='class_name'] 通过Name定位 //*[@name='name'] 2、如 阅读全文
posted @ 2018-09-09 16:14 taotao12 阅读(229) 评论(0) 推荐(0) 编辑
摘要:1.浏览器操作 # 刷新 driver.refresh() # 前进 driver.forward() # 后退 driver.back() 2.获取标签元素 # 通过ID定位目标元素 driver.find_element_by_id('i1') # 通过className定位目标元素 drive 阅读全文
posted @ 2018-09-09 15:07 taotao12 阅读(260) 评论(0) 推荐(0) 编辑