zoukankan      html  css  js  c++  java
  • python + selenium +win32gui + winspy 实现图片上传

    过程:模拟点击上传按钮,打开Windows对话框,编辑栏输入文件路径(或网址)点击确定。网上随便找了一个进行测试。

    点击后出现Windows上传对话框

     

    用 winspy 来检测窗口的句柄

     

     python 实现

    import win32con
    import win32gui
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    
    driver.get('http://file.yiyuen.com/file/')
    time.sleep(1)
    # 百度上传图片Input类型
    driver.find_element_by_name("files").click()
    
    time.sleep(2)
    
    dialog = win32gui.FindWindow('#32770', u'打开')   # 对话框  这里的值即上一步winspy检测到的值
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
    Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None) # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
    button = win32gui.FindWindowEx(dialog, 0, 'Button', None)   # 确定按钮Button
    
    win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, 'https://www.baidu.com/img/baidu_resultlogo@2.png') # 往输入框输入绝对地址
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)    # 按button
  • 相关阅读:
    Linux系统自带服务罗列
    几个有用的shell命令
    Zabbix
    RaspberryPi3安装CentOS7教程
    grafana简介
    负载均衡之Haproxy配置详解(及httpd配置)
    CentOS7版本的新特性
    文件系统目录结构
    openstack部署dashboard
    openstack核心组件--cinder存储服务(6)
  • 原文地址:https://www.cnblogs.com/teng-0802/p/11355913.html
Copyright © 2011-2022 走看看