selenium中元素操作之上传操作(六)

上传操作分为两种情况:

1、input标签上传

如果是input可以直接输入路径的,那么直接调用send_keys输入路径,和前边的元素操作类似,在这里不再过多的赘述。

2、非input标签上传

非input标签上传的,则需要借助第三方的工具:

这里我们用python中的第三方库pywin32库,识别对话框句柄,进而进行上传操作

首先安装第三方库:pip install pywin32

借助winspy来辅助定位,winspy下载地址:https://sourceforge.net/projects/winspyex/

winspy工具使用的是绝对定位,和selenium中的元素定位方式不同

 

通过借助winspy工具定位出了对应元素的路径,就可以通过pywin32库来实现上传操作啦!

1、filePath是上传文件所在的绝对路径

2、如果你的浏览器是谷歌那么不用管,如果是其他的浏览器,看你弹出上传窗口的左上角的名字是什么,写入到else里的title=" "里边。

3、遇到Windows窗口上传的元素定位时,直接调用这个方法就可以:upload(C:\文件上传.txt)

比如火狐浏览器与谷歌不同,它的title="文件上传"

 

 

import win32gui
import win32con


def upload(filePath, browser_type="chrome"):
    '''
    通过pywin32模块实现文件上传的操作
    :param filePath: 文件的绝对路径
    :param browser_type: 浏览器类型(默认值为chrome)
    :return:
    '''
    if browser_type == "chrome":
        title = "打开"
    else:
        title = ""  # 这里根据不同浏览器类型来修改

    # 找元素
    # 一级窗口"#32770","打开"
    dialog = win32gui.FindWindow("#32770", title)
    # 向下传递
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)  # 二级
    comboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, "ComboBox", None)   # 三级
    # 编辑按钮
    edit = win32gui.FindWindowEx(comboBox, 0, 'Edit', None)  # 四级
    # 打开按钮
    button = win32gui.FindWindowEx(dialog, 0, 'Button', "打开(&O)")  # 二级

    # 输入文件的绝对路径,点击“打开”按钮
    win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, filePath)  # 发送文件路径
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 点击打开按钮

 

转载于:https://www.cnblogs.com/xingyunqiu/p/11558936.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
企查查是一个提供企业信息查询的网站,而Selenium是一个用于自动化操作网页的工具。在实际应用,可以通过Selenium对企查查网站进行自动化操作Selenium可以模拟用户在网页上的交互操作,比如点击按钮、输入文字、提交表单等。对于企查查网站而言,可以利用Selenium实现如下功能: 1. 自动登录:通过Selenium可以自动打开企查查网站,并模拟用户输入用户名和密码进行登录操作,提高用户体验和效率。 2. 信息查询:通过Selenium可以模拟用户在企查查网站上输入关键词进行企业信息查询。可以通过定位网页元素的方式,自动填写查询条件,点击查询按钮,并获取查询结果,实现自动化查询功能。 3. 抓取数据:Selenium还可以实现对企查查网站上的数据进行抓取。通过定位网页元素的方式,可以获取到企业的各类信息,如公司名称、法定代表人、注册资本等,可以将这些信息保存下来,用于后续的统计分析或其他需求。 4. 批量操作:通过Selenium可以实现对多个企业进行批量操作。使用循环结构,可以自动化地对多个企业进行查询、抓取数据或其他操作,提高工作效率。 总之,通过Selenium的自动化操作,可以实现对企查查网站的快速、准确的数据查询和处理,节省时间和人力成本,提高工作效率。同时,通过合理的脚本编写,还可以实现定制化的操作,满足个性化的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值