web自动化
zou75718
这个作者很懒,什么都没留下…
展开
-
css与xpath高级元素定位语法对比
id: #id //*[@id="value"]class .class1.class2 [class="class1 class2"] //*[@class="class1 class2"]属性 [属性名='属性值'] //*[@属性名='属性值'] [属性原创 2021-12-18 18:16:10 · 367 阅读 · 0 评论 -
在cmd命令行批量关闭chromedriver.exe浏览器驱动的方法
taskkill /F /im chromedriver.exe原创 2021-12-06 22:38:55 · 1860 阅读 · 0 评论 -
js代码在web自动化中的应用
例子:操作12306网站出发日期先定位元素:ele=driver.find_element(By.XPATH,’//div[text()=“今天”]’)准备js代码:js_code="arguments[0].readOnly=fasle;arguments[0].value=“2021-4-22;”执行js代码:driver.execute_script(js_code,ele)其中:arguments[0]为占坑符,会被ele替代...原创 2021-04-15 21:42:24 · 131 阅读 · 0 评论 -
web自动化中的窗口切换,iframe切换和alert弹框切换
窗口切换:通过窗口句柄new_window=self.driver.window_handles[-1]self.driver.switch_to.window(new_window)iframe切换:1、通过索引(从0开始)切换driver.switch_to.frame(0)2、通过name属性切换driver.switch_to.frame("name")3、通过iframe对象切换iframe=driver.find_element("id","iframe")driver原创 2021-04-14 21:21:40 · 232 阅读 · 0 评论 -
xpath元素定位总结
相对定位:通过属性://标签名[@属性名=“属性值”]//input[@class=“a”]通过文本://标签名[text()=“属性值”]//input[text()=“元素a”] //input[contain(text(),"元素a")]组合定位://input=[@class=“a” and @type=“b”]找子代元素://div[@class=“a”]/div[@class=“b”]找孙辈元素://div[@class=“a”]//div[@class=“b”]原创 2021-04-13 23:43:17 · 237 阅读 · 0 评论 -
selenium中上传文件的几种方法
实现步骤:首先,在前端点击的按钮不是真正上传文件的控件,需要找到上传文件的控件:<input type=“file”…>然后,对这个控件进行sendkeys,发送图片的路径最后,点击开始上传例子:看上面这个例子,我在定位“选择图片”按钮时,右边高亮的代码并不是<input type=“file”…>,说明不是真正的上传图片的控件,对它进行sendkeys图片并不能成功添加图片,此时,我们需要找到真正上传的控件,也就是它上面的那行代码,如下图所示:对它进行sendkey原创 2020-08-19 16:41:28 · 2462 阅读 · 0 评论 -
在selenium自动化中实现双击操作的正确方法
我们知道在selenium中,以named定位为例,单击元素的代码为:driver.find_element_by_name(“name”).click(),那么,实现双击元素的代码能不能写成:driver.find_element_by_name(“name”).double_click()呢?显然不行。因为selenium里根本没有这种写法。那么双击操作要怎么实现呢,这里要到一个类,ActionChains(),这个类封装了所有对页面元素可以进行的高级操作,也就是说双击是一种高级操作。下面看一下代码:原创 2020-08-19 15:44:52 · 8027 阅读 · 0 评论 -
selenium中下拉框的操作
有一次做自动化测试时,我碰到如下情况:如图所示,页面元素“收获地区”是一个下拉框,虽然有id值,但不能简单的通过find_element_by_id(“add-new-area-select”).send_keys("")往里面输入内容,因为下拉框只能下拉选择,不可以手输。此时,需要用到Select模块进行处理:sheng=driver.find_element_by_id(“add-new-area-select”)Select(sheng).select_by_visible_text(“河北省原创 2020-08-18 22:40:06 · 1231 阅读 · 1 评论 -
selenium中切换浏览器窗口
在selenium自动化测试时,有时会打开多个浏览器窗口,但selenium不不会自动切换,需要靠代码来实现。实现代码:new_window=driver.window_handles[-1] #找到新窗口名字driver.switch_to.window(new_window) #切换到最新打开的窗口这样,就会从旧窗口切换到新窗口。例子:在自动化测试时,选择一件商品,然后加入购物车。在选择这件商品时,会打开一个新的界面,如下:如果代码直接写成这样:那么运行之后,不会达到预期效原创 2020-08-18 21:55:29 · 2209 阅读 · 0 评论 -
selenium中如何操作日历控件
操作日历控件时分两种方法:第一种:传统的办法。一步一步点击,选择年月日。相对来说比较麻烦。第二种:删除readonly属性,然后直接向日历控件中输入日期。方便快捷。执行代码:#删除readonly属性script=“document.getElementById(‘date’).removeAttribute(‘readonly’)”#执行JavaScript脚本driver.execute_script(script) #这一步执行后日期就能手动编辑了driver.find_原创 2020-08-18 09:21:20 · 1638 阅读 · 1 评论