元素截图+图片对比

     在做web自动化的时候,我碰到一些input 类型的radio (单选框),虽然也是联动的,但是我无法根据页面元素判断选中和非选中,也无法通过is_selected()方法判断,所以想到用元素截屏后对比两张图片是否一样。

附上元素截屏代码:

 def find_element(self,loc):
        logger.info("正在准备查找{}元素".format(loc))
        try:
            web_object=self.driver.find_element(*loc)
            logger.info("{}元素查找成功".format(loc))
            return web_object
        except:
            logger.exception("{}元素查找失败") 

 def get_ele_sreenshot(self,loc,filename):
        logger.info("正在准备对{}元素对象进行截屏操作")
        try:
            self.find_element(loc).screenshot(os.path.join(ele_screenshot_path,filename))
            logger.info("{}元素对象截屏成功,并命名为{}".format(loc,filename))
        except:
            logger.exception("{}元素对象截屏失败".format(loc))

附上两张图片对比代码(需要安装第三方模块openc):

 def query_photo(self,filename_one,filename_other):
        logger.info("正在准备判断这张图片{}和这张图片{}是否一样".format(filename_one,filename_other))
        try:
            image1 = cv2.imread(os.path.join(ele_screenshot_path,filename_one))
            image2 = cv2.imread(os.path.join(ele_screenshot_path,filename_other))
            difference = cv2.subtract(image1, image2)
            result = not np.any(difference)
            if result == True:
                logger.info("两张图片一样")
                return  True
            else:
                logger.info("两张图片不一样")
                return False
        except:
            logger.exception("判断两张图片是否一样失败")

 

转载于:https://www.cnblogs.com/Be-your-own-hero/p/11322728.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值