基于selenium实现UI自动化

1.浏览器最大化 driver.maximize_window()

2.重置浏览器大小 set_window_size()

3.获取属性值 get_attribute(获取一组元素) 例如:logo.get_attribute('class)

每个webelement节点都有text属性,.text  可以调取

4.右击事件:ActionChains(driver).context_click(目标元素).perform()

需要引包from selenium.webdriver.common.action_chains import ActionChains

双击事件:double_click()

鼠标拖放:ActionChains(driver).drag_and_drop(原位置, 目标位置).

ActionChains(driver).perform() 执行操作

5.多层框架问题:依次定位到frame,用switch_to_frame()方法. driver.switch_to.frame('name' or 'id'). 如果没有id或者name ,先定位位置,最后选取frame

                               跳出frame driver.switch_to().defaultContent()

多层窗口问题:依次定位到窗口,用switch_to_window()方法

层级定位:逐层定位。从父元素--子元素

6.添加文件 send.key('')

7.下拉框定位:两次定位

8.switch_to_alert().accept()焦点集中到警告上,并接收

current_window_handle 获取当前的窗口 window_handles 获取所有窗口

9.对于蒙层的处理:用js模拟。

execute_script('$(arguments[0]).click()', 目标元素)

execute_script(script, *args)

10.控制滚动条:用模拟js的方法 execute_script()

滚动条拉倒底部 window.scrollTo(0,document.body.scrollHeight) 弹出提示框 alert('')

11.等待: 隐式等待:dr.implicitily_wait()

      显式等待:wait = webdriverwait(dr,10)       until()方法 wait.until()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容