想要实现的业务:自动上传文件时,如果有重复的文件,那么取消上传
方法一、判断是否有重复框弹出
步骤:1.封装弹框的元素定位
2.判断该元素是否出现在了页面
-如果没有出现在页面,那么会由于找不到该元素,而报错;(所以我们判断的时候要用try异常判断)
-如果出现在了页面,点击取消上传
弊端:性能低。
-通过[try异常]进行判断时,找不到元素 到 报错的这个过程中,会耗费较长的时间,导致响应时间变长。如果大批量的使用这个方法,性能可想而知。
代码:代码详情
- duplicate_file_tooltip() :封装弹框的元素定位
- duplicate_file_upload_canceled():点击取消按钮元素定位
try: cde().duplicate_file_tooltip() except NoSuchElementException: print("上传的文件不重复") else: cde().duplicate_file_upload_canceled().click()
方法二、不管是否有重复框弹出,我都点击空白处
备注:由于我们当前的系统业务机制是[点击空白处,提示弹框会消失],所以这里才想到这个办法
步骤:上传文件后,直接调用鼠标左键点击按钮函数
优点:性能高,效果好
from selenium.webdriver.common.action_chains import ActionChains import config class mouse: def mouse_left(self): """ 鼠标左键点击空白 :return: """ ActionChains(config.driver).move_by_offset(0, 0).click(on_element=None).perform()
Selenium+Python:判断-自动上传文件时,如果上传文件重复,那么需要取消上传
原文:https://www.cnblogs.com/chenziyizz/p/14744404.html