自动化4

网页切换:

1、获取打开网页的句柄:
  window_handles
返回值是一个列表,列表中网页的索引按照打开的顺序从0开始依次递增

例如: window_list = browser.window_handles

2、使用网页列表的索引切入:
 switch_to.window(window_list[索引值])
3、关闭网页:
 close()      

网页操作:

1、网页最大化:maximize_window():
可以避免由于网页没有最大化,导致界面元素堆叠,进而导致脚本执行失败。
2、网页最小化:minimize_window()
3、设置网页大小:set_window_size(长,宽)(长和宽的单位是像素)
可以设置网页在不同分辨率下的大小,测试软件在不同分辨率下的兼容性
4、刷新网页:refresh()
5、网页前进:forword()
6、网页后退:back()

7、网页截图:get_screenshot_as_file()
注意:截图之前等几秒
截图之前切出框架

8、获取网页的标题:title:主要用来判断功能执行后是否存在问题
9、获取网页的URL:current_url:主要用来判断功能执行后是否存在问题

元素操作

1、点击:click()
2、输入:send_keys()
3、清除元素的内容:clear()
作用:清除元素内的已有内容,避免重复输入
4、获取元素的文本:text:主要用来判断功能执行后是否存在问题
5、获取元素的属性值:get_attribute()

鼠标操作:

在ActcionChains模块下,提供了鼠标右击、双击、悬停、拖拽等方法
1、鼠标右击:context_click()
2、鼠标双击:double_click()
3、鼠标悬停:move_to_element()
4、鼠标左键按住:click_and_hold()
5、鼠标移动:move_by_offset()
6、释放鼠标左键:release()
6、执行:perform()

警告窗口操作:

1、切入警告窗口,并获取其对象
alert_window = switch_to.alert
2、确定:accept()
使用警告窗口对象调用:alert_window.accept()
3、取消:dismiss()
使用警告窗口对象调用:alert_window.dismiss()
4、获取警告信息:text
使用警告窗口对象调用:alert_window.text
5、输入内容:send_keys()
使用警告窗口对象调用:alert_window.send_keys()

等待设置:

三种等待方式:
1、强制等待sleep():是等待设置中最简单的方法,缺点是不智能,设置时间少了没有用,设置时间长了
浪费时间。
2、静态等待(隐性等待)implicitly_wait():静态等待设置一个等待的时间后,在设置的时间内判断
网页是否加载完成,如果在设置的时间内加载完成,则立刻执行后续脚本,不会等完设置的时间,
如果在设置的时间内网页没有加载完成,则超时报错。 缺点是依然可能浪费时间,原因是网页
上的元素是随时间局部加载的,只要所需元素加载出来就不需要继续等待可以执行后续脚本了,
但是静态等待必须等完网页加载完成,所以依然可能浪费时间。
注意:静态等待对整个浏览器驱动周期起作用,只需要设置一次。
3、动态等待(显性等待)WebDriverWait():可以在动态等待中设置一个等待时间及间隔时间,并结合unitl方法,在until方法中设置等待条件(一类方法),在设置的等待时间内,按照设置的间隔时间每隔一定时间判断等待条件是否成立,成立在即刻执行后续脚本,如果在设置的等待时间内,条件一直不成立则超时报错。
在expected_conditions模块下,提供了丰富的等待条件,可以形成多种的等待场景。
常用等待条件:
1、presence_of_element_located():判断元素是否加载出来,加载出来则条件成立。在设置的时间 内元素一直没有加载出来,则超时报错。需要传入元组(例:(By.ID, “id值”)),返回值为 定位到的元素。
2、presence_of_all_elements_located():判断符合条件的元素是否全部加载出来,加载出来则条件
成立,在设置的时间内元素一直没有加载出来,则超时报错。需要传入元组(例:(By.ID,“id 值”)),返回值为定位到的元素组成的列表。
3、frame_to_be_available_and_switch_to_it():判断框架是否可以切入,可以在切入。在设置的时 间内如果一直不能切入则超时报错。传参可以传入元组可以与switch_to.frame()一样。
4、text_to_be_present_in_element():判断某段文本是否在某个元素上。在则条件成立,在设置的时间内,文本不在元素上,则超时报错。传参需要传入两个参数:元组和字符串,条件成立返回True。
5、text_to_be_present_in_element_value():判断某段文本是否等于某个元素的value属性值。相等则条件成立,在设置的时间内,不相等则超时报错。传参需要传入两个参数:元组和字符串,条件成立返回True。
6、title_is():判断网页标题是否等于某段字符串,相等则条件成立,在设置的时间内不相等则超时报错。传参传入字符串,条件成立返回True
7、title_contains():判断网页标题是否包含某段字符串,包含则条件成立,在设置的时间内不包含则超时报错。传参传入字符串,条件成立返回True
8、alert_is_present():判断警告窗口是否出现,出现则切入警告窗口并获取其对象。如果在设置的时间内没有警告窗口出现,则超时报错。不需要传参,返回值为警告窗口对象。
9、element_to_be_clickable():判断某个元素是否可以点击,可以点击则条件成立。设置的时间 内元素一直不能点击,则超时报错。需要传入元组(例:(By.ID, “id值”)),返回值为 定位到的元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值