lsekfe 发表于 2021-4-2 10:25:56

WebDriver API 之常见操作

浏览器操作:
    最大化:maximize_window()
    最小化:minimize_windows()
    set_window_size(width, heigth)
    前进/后退:forward( )  back( )
    关闭当前窗口/浏览器:close()  quit()
http://www.51testing.com/attachments/2020/09/15326880_202009301414431kQHg.png
  获取页面标题和当前页面url:
     获取页面标题:title
     获取页面url:current_url
     页面刷新:refresh()
http://www.51testing.com/attachments/2020/09/15326880_202009301414501F1l7.png
  元素操作:
    clear():清除元素内容。
    send_keys():向元素输入内容。
    click():单击元素。
    size:返回元素尺寸。
    text:返回元素文本。
    get_attribute(obj):返回元素某个属性的值。
    location:元素的坐标。
    page_source:获取网页源码。
http://www.51testing.com/attachments/2020/09/15326880_202009301414591F0nd.png
http://www.51testing.com/attachments/2020/09/15326880_202009301415041q2YJ.png
  示例:
http://www.51testing.com/attachments/2020/09/15326880_202009301415101AM4x.pnghttp://www.51testing.com/attachments/2020/09/15326880_202009301415161oHsA.pnghttp://www.51testing.com/attachments/2020/09/15326880_202009301415221ycvy.png
  鼠标事件:
    context_click(),右击。
    double_click(),左键双击。
    drag_and_drop,拖动。
    drag_and_drop_by_offset(),拖动到指定位置。
    move_to_element(),悬停。
    click_and_hold(),单击并按住不放。
http://www.51testing.com/attachments/2020/09/15326880_202009301415281GZea.png
  下拉框:
    通过value值选择:select_by_value('value');
    通过文本选择:select_by_visible_text('text');
    通过索引选择:select_by_index(index),索引从0开始。
http://www.51testing.com/attachments/2020/09/15326880_202009301415351OPsW.pnghttp://www.51testing.com/attachments/2020/09/15326880_202009301415401qN5y.png
  浏览器多窗口处理:
    每一个浏览器窗口都有一个唯一的标识符,句柄,通过句柄来判断当前处于哪一个浏览器窗口,webdriver中提供了相应方法来进行浏览器窗口的切换。
    window_handles,获取所有浏览器窗口的句柄。
    current_window_handle,获取当前浏览器窗口句柄。
    switch_to.window('handle'),切换到指定浏览器窗口。
    close(),关闭当前浏览器窗口。
http://www.51testing.com/attachments/2020/09/15326880_202009301415471xMp7.png
  页面多表单(多框架处理):
    switch_to.frame(),切换到指定表单。
    switch_to.default_content(),切换到最外层表单。
    switch_to.parent_frame(),切换到上一级表单。
http://www.51testing.com/attachments/2020/09/15326880_202009301415531eO9k.png
  层级定位:先定位A元素,然后定位A下的元素。
http://www.51testing.com/attachments/2020/09/15326880_2020093014155918dZd.png
  警告框处理:
    定位警告框:switch_to.altert();
http://www.51testing.com/attachments/2020/09/15326880_2020093014160518GyH.png
    accept,接受,相当于点击【确定】
    dismiss,解散,相当于点击【取消】
http://www.51testing.com/attachments/2020/09/15326880_2020093014161117IqX.png
  定位一组对象:定位到元素后进行批量操作。
    find_elements_by_xxxx(),返回一个列表。
http://www.51testing.com/attachments/2020/09/15326880_202009301416171cUqo.png
  文件上传:
    使用input标签实现的上传:调用send_keys()方法将需要上传的文件路径发送到指定元素即可。
    非input标签实现的上传:借助AutoIt,使用 SendKeys第三方库 ,使用win32 GUI等工具实现上传。
http://www.51testing.com/attachments/2020/09/15326880_202009301416231wocU.png
  截图:
    一般在执行用例时,如果用例失败,则将当前窗口截图保存。
    方法:get_screenshot_as_file('imgname')
http://www.51testing.com/attachments/2020/09/15326880_202009301416291E1pl.png
  验证码:
    屏蔽验证码功能。
    将验证码固定。
    Python-tesserct模块识别验证码。
  键盘事件:
    方法:send_keys(cmd)向指定元素发送键盘指令。
      Keys.BACK_SPACE,删除。
      Keys.SPACE,空格。
      Keys.TAB,横向制表符。
      Keys.ENTER,回车。
      Keys.CONTRAL,'a',全选。
      Keys.CONTRAL,'c',复制。
      Keys.CONTRAL,'x',剪切。
      Keys.CONTRAL,'v',粘贴。
      Keys.END,翻到页面底部。
      Keys.HOME,翻到页面顶部。
      Keys.PAGE_UP,向上翻页。
      Key.PAGE-DOWN,向下翻页。
http://www.51testing.com/attachments/2020/09/15326880_202009301416351sztk.pnghttp://www.51testing.com/attachments/2020/09/15326880_202009301416411VLSx.png
  多浏览器处理,以及执行JS脚本的方法,此处先不多说,后续将会单独持续更新,想了解的小伙伴加个关注哦。
  以上就是我们在做web自动化时经常使用的一下WebDriber APT。
页: [1]
查看完整版本: WebDriver API 之常见操作