web自动化
zou75718
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
css与xpath高级元素定位语法对比
id: #id //*[@id="value"] class .class1.class2 [class="class1 class2"] //*[@class="class1 class2"] 属性 [属性名='属性值'] //*[@属性名='属性值'] [属性原创 2021-12-18 18:16:10 · 441 阅读 · 0 评论 -
在cmd命令行批量关闭chromedriver.exe浏览器驱动的方法
taskkill /F /im chromedriver.exe原创 2021-12-06 22:38:55 · 2283 阅读 · 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 · 184 阅读 · 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 · 311 阅读 · 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 · 337 阅读 · 0 评论 -
selenium中上传文件的几种方法
实现步骤: 首先,在前端点击的按钮不是真正上传文件的控件,需要找到上传文件的控件:<input type=“file”…> 然后,对这个控件进行sendkeys,发送图片的路径 最后,点击开始上传 例子: 看上面这个例子,我在定位“选择图片”按钮时,右边高亮的代码并不是<input type=“file”…>,说明不是真正的上传图片的控件,对它进行sendkeys图片并不能成功添加图片,此时,我们需要找到真正上传的控件,也就是它上面的那行代码,如下图所示: 对它进行sendkey原创 2020-08-19 16:41:28 · 2808 阅读 · 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 · 8787 阅读 · 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 · 1299 阅读 · 1 评论 -
selenium中切换浏览器窗口
在selenium自动化测试时,有时会打开多个浏览器窗口,但selenium不不会自动切换,需要靠代码来实现。 实现代码: new_window=driver.window_handles[-1] #找到新窗口名字 driver.switch_to.window(new_window) #切换到最新打开的窗口 这样,就会从旧窗口切换到新窗口。 例子: 在自动化测试时,选择一件商品,然后加入购物车。 在选择这件商品时,会打开一个新的界面,如下: 如果代码直接写成这样: 那么运行之后,不会达到预期效原创 2020-08-18 21:55:29 · 2367 阅读 · 0 评论 -
selenium中如何操作日历控件
操作日历控件时分两种方法: 第一种:传统的办法。一步一步点击,选择年月日。相对来说比较麻烦。 第二种:删除readonly属性,然后直接向日历控件中输入日期。方便快捷。 执行代码: #删除readonly属性 script=“document.getElementById(‘date’).removeAttribute(‘readonly’)” #执行JavaScript脚本 driver.execute_script(script) #这一步执行后日期就能手动编辑了 driver.find_原创 2020-08-18 09:21:20 · 1951 阅读 · 1 评论
分享