selenium笔记:窗口截图+警告框+鼠标事件+键盘事件+内嵌网页处理+多标签页处理

selenium笔记:窗口截图+警告框+鼠标事件+键盘事件+内嵌网页处理+多标签页处理


一、窗口截图

webdriver 提供了 get_screenshot_as_file()函数来截取当前窗口

二、警告框处理

在WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法进行操作

  ·  text:返回 alert/confirm/prompt 中的文字信息 

·  accept():接受现有警告框 

·  dismiss():取消现有警告框 

·  send_keys(“haha”):发送文本至警告框


                                            

                                                               三、PART鼠标事件


用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChains

ActionChains 类提供了鼠标操作的常用方法:

 ·  perform(): 执行操作 

·  context_click(): 右击; 

·  double_click(): 双击; 

·  drag_and_drop(): 拖动; 

·  move_to_element(): 鼠标悬停。


            

          四、PART键盘事件


Keys()类提供了键盘上几乎所有按键的方法。 前面了解到, send_keys()方法可以用来模拟键盘输入, 除此 之外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等

以下为常用的键盘操作:

 ·   end_keys(Keys.BACK_SPACE) 删除键(BackSpace) 

 ·  send_keys(Keys.SPACE) 空格键(Space) 

 ·  send_keys(Keys.TAB) 制表键(Tab) 

 ·  send_keys(Keys.ESCAPE) 回退键(Esc) 

 ·  send_keys(Keys.ENTER) 回车键(Enter) 

·  send_keys(Keys.CONTROL,'a') 全选(Ctrl+A) 

 ·  send_keys(Keys.CONTROL,'c') 复制(Ctrl+C) 

 ·  send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X) 

 ·  send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V

 ·  send_keys(Keys.F1) 键盘 F1

 ·  …… 

 ·  send_keys(Keys.F12) 键盘 F12

 

 

                                                              五、iframe切换

iframe,又叫浮动帧标记,是内嵌的网页元素,可以将一个html文件嵌入到另一个html文件中显示

对iframe进行操作,需要用到以下三种方法:

switch_to_iframe()                       切换到iframe上

switch_to.frame()                         切换到iframe上

switch_to.default_content()         切换回原主页面

 

通过如下方式进行切换操作

#定位到iframe

iframe=driver.find_element_by_id("x-URS-iframe")

#切换到iframe

driver.switch_to_frame(iframe)

              

            六、多标签页切换

在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口上进行操作。WebDriver提供了以下方法

current_window_handle:获得当前标签页句柄

window_handles:返回所有便签页的句柄

switch_to.window(标签页句柄):切换到对应的标签页

关闭标签页使用 close 方法

你可能感兴趣的:(selenium笔记:窗口截图+警告框+鼠标事件+键盘事件+内嵌网页处理+多标签页处理)