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()