自动化测试Python+Selenium
不雨也潇潇
一个励志于在测试行业拆掉南墙的女子。
展开
-
xpath定位
一、文本定位:1.text()driver.find_element_by_xpath('//a[text()="文本"]')2.contains(),文本中含有换行符可用此方法driver.find_element_by_xpath('contains(.,"文本")')二、轴定位1.语法:轴名称::节点名称2、轴名称:ancestor:祖先节点,包...原创 2019-10-17 15:21:47 · 270 阅读 · 0 评论 -
Python+Selenium之封装通过参数文本定位的方法
在封装公用方法时,经常遇到只需要改变文本便可以定位的元素,这便需要参数化文本来定位,在此提供两种方法:一、使用%s1.一个参数:2.多个参数:二、使用format...原创 2019-10-17 13:23:40 · 607 阅读 · 0 评论 -
Python+Selenium之ActionChains
使用场景:模拟键盘or鼠标操作时,需要使用ActionChains来处理一、ActionChains简介:1.若使用ActionChains,需要导入ActionChains包:from selenium.webdriver import ActionChains2.ActionChains的使用原理:调用ActionChains方法时,不会立即执行,而是将所有操作放在一个队...原创 2019-10-08 15:31:34 · 4037 阅读 · 0 评论 -
Python+Selenium之定位一闪而过(自动消失)的弹框
有些友好性提示的弹框往往一闪而过,不是一直处在界面中的,对于这样的弹框,无法采用鼠标点击定位元素的方式我们可以借助开发者工具的断点来解决这个问题。Step1.当界面出现弹框的时候,点击下图红线按钮,即可使界面处于停止状态,然后再按照正常元素定位就可以了Step2.定位完成后再次点击该按钮,即可继续运行...原创 2019-09-11 17:42:07 · 7348 阅读 · 7 评论 -
Python+Selenium之定位相同元素的第二个元素
1.有两个完全相同的span元素,若通过绝对路径寻找,不容易后期维护,便想着可以通过[]来进行区分。2.解决方法:定位第一个元素:driver.find_element_by_xpath('//span[@class = "glyphicon glyphicon-th-large"]').click()定位第二个元素:driver.find_elements_by_x...原创 2019-07-17 16:45:29 · 14921 阅读 · 6 评论 -
Python+Selenium之定位新打开的标签(窗口)
定位元素时,常常因为点击链接后,浏览器已打开新的标签页,而定位的标签还在上一个标签而导致定位不到第二个标签上的元素。这就需要获取浏览器的所有标签页,并定位到所需标签页,如下所示:handles = driver.window_handles()#获取当前浏览器的所有标签页driver.switch_to_window(handles[0])#定位到第二个标签页...原创 2019-07-12 16:46:46 · 14570 阅读 · 3 评论 -
Python第三方库安装之PyUserInput
一、直接安装直接在Scripts文件下通过 pip install PyUserput安装,报错:Could not find a version that satisfies the requirement pyHook (from pyuserinput) (from versions: )No matching distribution found for pyHook (from p...原创 2019-07-09 16:33:37 · 17306 阅读 · 8 评论 -
Python+Selenium之定位鼠标悬浮元素
Step1.导入ActionChainsfrom selenium.webdriver.common.action_chains import ActionChainsStep2.代码1.定义鼠标悬停的元素:move = driver.find_element_by_css_selector( 'div.queryschema-control.i...原创 2019-01-02 16:12:36 · 11393 阅读 · 2 评论 -
F12后的各种操作
一、判断页面有没有使用jQuery:在Console中,输入 alert($),若返回undefined,则说明未使用jquery,见下图原创 2018-12-29 16:12:39 · 1593 阅读 · 0 评论 -
安装Python、setuotools、pip、selenium、chromedriver、PyCharm附安装包
Step1.安装Python<1>我安装的是Python35百度云链接:链接:https://pan.baidu.com/s/1hF2u0EkRUV3LT118BGRU5w提取码:4f5a自定义安装目录是python35<2>配置path法一:配置的时候勾选自动配置path法二:手动配置,将D:\Python35\Scripts\;D:\Pyth...原创 2018-12-24 18:15:10 · 1806 阅读 · 1 评论 -
Selenium之如何定位隐藏div弹窗
一、判断是否为隐藏属性display的值为none则为隐藏(详见下图红色标记) 二、将隐藏属性修改为非隐藏属性知识储备:1.document对象:(1)当浏览器载入HTML文档时,便会成为document对象(2)document对象可对HTML界面的所有元素进行访问2.document.querySelectAll()方法 HTML5中引入的新方法,返回匹配...原创 2018-12-11 16:41:45 · 11485 阅读 · 2 评论 -
document与$的区别与联系(DOM对象与jQuery对象)
一、documen.getXXX()与$()的区别:documen.getXXX()返回的是DOM对象$()返回的是jQuery对象二、DOM对象与jQuery对象的区别:DOM对象是指用JavaScript获得的对象;jQuery对象是指用jQuery类库选择器获得的对象;js = document.getElementId("id")//dom对象js1 = $("...原创 2018-12-11 16:30:22 · 2319 阅读 · 0 评论 -
Python+Selenium之方法总结
(持续更新)1.is_displayed():判断元素是否存在error = self.driver.find_element_by_css_selector('#errorMsgSpan_default')self.assertTrue(error.is_displayed(), '未登录失败')2.close()与quit()的区别与联系 close()是关闭当前窗口,如...原创 2018-11-28 17:29:59 · 278 阅读 · 0 评论 -
Python+Selenium之表单定位、富文本框赋值
一,表单元素定位顺序(建议)• name优先• id其次• css selector(几乎可以定位所有元素)• class+index• xpath或其它二,table(thead,tbody,tfoot)tr代表行,th代表列,均可用find_element_by_xxx定位三、富文本框赋值富文本框是指<iframe></iframe>...原创 2018-11-28 15:51:54 · 5229 阅读 · 2 评论 -
Python+Selenium之登录界面login
一、知识储备:1.<li id="we"> <a class="me">定位我</a></li>定位a元素的方法:self.driver.find_element_by_css_selector('#we .me')#查找id未we的标签下class为me的标签#代表id .代表class2.获取当前ur...原创 2018-11-28 11:01:11 · 4504 阅读 · 0 评论 -
firefox、geckodriver.exe、selenium-server-standlone版本对应及下载地址
selenium-server-standlone-3.3.1.jar 下载地址: http://selenium-release.storage.googleapis.com/index.htmlgeckodriver.exe V.15.0 下载地址:https://github.com/mozilla/geckodriver/releasesfirefox 48.0.2 /52.0...原创 2018-10-25 20:45:52 · 2012 阅读 · 0 评论 -
Selenium+Python之八种元素定位方法
如有疑问,可以留言或私信问我哟~一、id定位driver.find_element_by_id("txtUaserName").send_keys("容音@lily")二、name定位driver.find_element_by_name("username").send_keys("容音@lily")三、class定位driver.find_element_by_clas...原创 2018-10-12 21:57:15 · 15921 阅读 · 2 评论 -
Selenium+Python之Unittest单元测试框架
from calculator import Countimport unittest #引入unittest模块#创建TestsCount类继承unittest的TestCase类class TestCount(unittest.TestCase):#setUp()方法用于测试用例执行前的初始化工作 def setUp(self): print("te...原创 2018-10-12 21:54:27 · 502 阅读 · 0 评论 -
Selenium IDE安装
Selenium IDE安装存在的问题:1.安装成功后没有文件、编辑、Actions、Options、帮助按钮2.网页页面右击没有“Show All Available commands”选项原因及解决方案:原因:浏览器版本过高解决方案:1.下载版本低的火狐浏览器安装,如找不到可去我的网盘下载:链接: https://pan.baidu.com/s/1gnx0FaAxSNr...原创 2018-09-27 12:52:41 · 406 阅读 · 1 评论