首页 > 其他分享 >WebDriver API及对象识别技术

WebDriver API及对象识别技术

时间:2022-10-09 09:46:23浏览次数:56  
标签:WebDriver webdriver keys Keys API 对象 切换 iframe 识别

html页面的iframe的切换:

  • iframe框架在html页面:实际就是多个html页面的相互嵌套;如果存在多个,则操作对象一直停留在主文档页面;    如果需要操作子文档页面则需要实现iframe的切换操作;
  •  驱动器对象.switch_to.frame(iframe的id/name/定位的对象)如果iframe中不存在id、不存在name的属性的话,则可以通过其他方式定位该iframe ,定位到的对象直接传入到参数中即可
  • 在实际过程中,一定注意多级iframe的切换以及并级的iframe切换,这两者切换的方式是完全不同的;
  • 可以通过driver.switch_to.default_content() :切换到主文档界面  driver.switch_to.parent_frame()切换到上一级父级iframe
  • 当如果两个iframe并级存在主文档的话那么两个方法调用的结果实际是等价的
  • 注意:如果当前的iframe框架对象窗口进行关闭操作后,那么驱动器对象会回到上一级父iframe的操作窗口上;当然如果在实际开发过程中存在多级iframe而iframe关闭后不清楚其处于的状态,则可以每关闭一个iframe全部重新回到主文档iframe状态;

下拉列表框的操作:

  • 1.直接定位,直接根据option中的属性进行定位
  • 2.二次定位
  • 3.Select对象定位方式:使用该种方式需要引入模块:from selenium.webdriver.support.select import Select
  1. 需要传入一个参数,该参数必须是一个Select(下拉列表看的标签)的标签对象;
  2. select_by_index:表示的是所有option的索引,并不是对应的option中的id值;
  3. select_by_value:表示的是option中的value属性所对应的值;
  4. select_by_visiable_text:表示的是标签外的文本内容;
  5. 注意:以上三个方法执行后直接选择指定的值,不需要在进行调用click方法;
  • 4.可以通过键盘的上下键完成选择

键盘操作:如果需要操作键盘事件的话则需要导入键盘模块,键盘模块导入方式 

  • from selenium.webdriver.common.keys import Keys

  • #退格操作
    get_webdriver.find_element(By.ID,'company').send_keys(Keys.BACK_SPACE*3)
    #全选
    get_webdriver.find_element(By.ID,'company').send_keys(Keys.CONTROL,"a")
    #复制
    get_webdriver.find_element(By.ID,'company').send_keys(Keys.CONTROL,"c")
    #粘贴
    get_webdriver.find_element(By.ID,'linkman').send_keys(Keys.CONTROL,"v")

 

标签:WebDriver,webdriver,keys,Keys,API,对象,切换,iframe,识别
From: https://www.cnblogs.com/lirongyu-test/p/16744869.html

相关文章

  • axios api封装
    importaxiosfrom'axios';//User相關的apiconstuserRequest=axios.create({baseURL:'https://api/user/'});//文章相關的apiconstarticleRequest=ax......
  • 插件化编程之WebAPI统一返回模型
      WebApi返回数据我们一般包裹在一个公共的模型下面的,而不是直接返回最终数据,在返回参数中,显示出当前请求的时间戳,是否请求成功,如果错误那么错误的消息是什么,状态码(根......
  • 肺ct 图像识别系统
    多图片展示(图片切换格式还是显示多张,换下一页)转换成jpg图片是本地的,再选选不到单图片一整个流程省份证电话号码格式问题000操作病人图片,自动显示病人数......
  • Hashicorp Consul Service API远程命令执行漏洞
    Preface简介Consul是HashiCorp公司推出的一款开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案相比,Consul提供的方案更为“一站式”。Con......
  • PaddleOCR在 Linux下的webAPI部署方案
    很多小伙伴在使用OCR时都希望能过采用API的方式调用,这样就可以跨端跨平台了。本文将介绍一种基于python的PaddleOCR识方案。喜欢的可以关注公众号,获取更多内容。   ......
  • Eolink API Hub(API 共享平台)上线,支持对接全 Open API2
    Eolink10.6.0版本更新啦!!!本次大版本更新,Eolink上线了API共享平台(APIHub)的Beta版本。帮助数百万开发者,发现、对接全球openapi提供便捷的平台服务。您可以在项......
  • 警告: BASE64Decoder是内部专用 API, 可能会在未来发行版中删除
    警告:BASE64Decoder是内部专用API,可能会在未来发行版中删除importorg.apache.commons.codec.binary.Base64;publicclassBase64Encoder{/***@param......
  • Mediapipe 手势识别:石头、剪刀、布
    参考:Mediapipe手势识别  使用该文章代码时,报错如下:TypeError:create_int():incompatiblefunctionarguments.Thefollowingargumenttypes原因:self.mpHands.Ha......
  • 字符识别
    importcv2importpytesseractpytesseract.pytesseract.tesseract_cmd=r'E:\tesseract\tesseract.exe'#字符识别(英文,数字)#img=cv2.imread('img_1.png')#img=cv2.cvtC......
  • 企业微信第三方开发JSApi调用previewFile没反应 无报错
    在开发企业微信第三方应用时,使用JSApi。初始化wx.config时没有报错,并在jsApiList里加上了previewFile。经过测试,发现IPhone端wx.previewFile为undefined。当前调用方式:......