• 可以看看下面这句代码,获取到的值是多少,菜鸡百度了一下,每种浏览器对于获取 offsetLeft 得到的值都是不一样,而且有的是到浏览器窗口的宽度,不知道对不对....

    slider_bar_value = float(slider.get_attribute("offsetLeft"))
    

    是不是可以考虑,获取长度条的尺寸进行计算:

    slider_bar_value = float(driver.find_element_by_xpath('//*[@id="slideTest2"]/div/div[2]').size)
     #求出百分之一对应的偏移量的大小
        off_set_unit = slider_bar_value['width'] / slider_tips_value  # 求出百分之一的偏移量
    
    1. input 类型的就 send_key 的方式,如 #1 所说
    2. 如果是通过前端自己实现的组件上传的,试下用 Autoit 脚本自己封装生成一个 exe,然后调用给这个 exe,我用的 python,通过传参 *args 可以选择多个文件,再调用 os.system("upload.exe F://xyz/a.jpg b.png") 这种方式去调用起上传窗口,可以实现多个文件选择上传,再处理一下文件不存在异常的情况,就应该可以符合你需求了。
    # 大致思路
     def uploading_file(self, element, *fileName):
         path = get_dirabspath() + '\\comment\\upload.exe '
         self.click_element(element)
         # select_pic() 实现F://xyz/a.jpg b.png 多个文件的绝对地址即可
         os.system(path + select_pic(*fileName))  
    

    au3 的脚本大概如下:

    ControlFocus("打开","","Edit1")
    ;识别windows窗口
    WinWait("[CLASS:#32770]","",10)
    ;窗口等待十秒
    ControlSetText("打开", "", "Edit1",$CmdLineRaw)
    ;想输入框中输入需要上传的地址
    Sleep(2000)
    ControlClick("打开", "","Button1");
    ;点击[打开】按钮
    
  • 简单使用可以不用,支持训练,看你自己需求了。

  • 我用 python 的 muggle_ocr 的包,免费而且识别率挺高,基本能用,样本数据足够还可以机器学习。
    基础用法也挺简单,自己可以封装一下,其他用法自己再搜一下。

    
    def identification_verification_code(byte):
        """
        识别验证码图片,输出文字
        :param byte: 图片数据流
        :return: 四位验证码
        """
        # 调用orc识别验证码
        sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)
        code = sdk.predict(image_bytes=byte)
        return code