2021-11-01

RPA中使用selenium套件

本文中部分内容参考【博客园–虫师】,如有侵权请联系删除,谢谢!
rpa在使用过程中给需要使用大量的自动化操作,而selenium又是非常常见的自动化操作套件,在使用selenium的时候,通常需要下载相应浏览器的driver,通过selenium + webdriver 实现相应的自动化操作。

  • 在进行自动化的时候,元素定位是必不可少的,如果想操作某一个对象,就需要先识别并找到该元素,通常该元素拥有部分特征属性,通过相关的特征属性就可以得到。
    Selenium中常用的查找方法通常为find_element_by+属性名;
    常见的属性名为:
    Id,class name,name,link_text,tag name, xpath,css等
    我们可以根据自己的实际需求选择相关的查找方法,但是需要注意的是,使用的查找方法要准确的定位,不要使用可能获取到重名的元素的方法进行定位。
    如果有的时候我们获取的不是一个输入框或者按钮,而是一个文字链接,那么可以使用link_text来进行定位。
    一般在进行操作的时候,还需要进行休眠操作,通常是使用time包中time.sleep()进行休眠。但是还有一种更加智能呢个的休眠方式,即使用selenium自带的implicatly_wait方法进行智能等待。
  • 操作测试对象
    在定位到需要定位的元素以后,通常需要对该元素进行操作,目前的操作方法包括:
  1. Click 点击对象
  2. Send_keys 在对象上模拟按键输入
  3. Clear清除对象内容,比如百度输入框内默认有个“请输入关键字”的信息,或者在输入账号密码的时候,账号密码的输入框内默认含有“账号”“密码”等提示信息,通常先清楚,然后再输入相关信息。
  4. Submit 提交表单 一般情况下都可以使用click 但是可以使用click不一定可以使用submit
  • 如果有时候定位了一个元素,定位器没有问题,但一直定位不了,这时候就要检查这个元素是否再一个frame中。
  • 还有一个问题,再一个页面中可能存在很多属性基本相同的元素,现在要定位到其中一个,由于属性基本相当,所以再定位的时候会有些麻烦,这时候就需要使用层级定位,通过先定位父级元素,然后通过父元素来定位其子孙元素。
  • 上传文件操作,使用selenium上传本地文件的时候,首先定位上传按钮,然后使用send_keys添加本地文件路径即可,该路径可以为相对路径或绝对路径,但是文件一定要真实存在。
  • 控制浏览器滚动条
    有时候我们需要控制滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js来进行操作。一般用到操作滚动条的包括两个场景:
    (1)比如注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。
    (2)要操作的页面元素不在吸视范围,无法进行操作,需要拖动滚动条
    通过执行js指令执行
js = “var q=document.documentElement.scrollTop=10000//  滚动条拖动到底部
js = “var q=document.documentElement.scrollTop=0//  滚动条拖动到顶部
Driver.execute_script(js)
  • 有些元素是当我们的鼠标放上去的时候,他会出现,而鼠标离开就消失。
    对于这种情况,打开调试界面,查看 鼠标放上去和离开html代码的变化情况,记住变化的位置,和变化的内容,然后将变化出的代码信息改为鼠标放上去时候的信息即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值