gpt4 book ai didi

python-3.x - Python selenium 使用windows浏览器上传文件

转载 作者:行者123 更新时间:2023-12-05 07:15:38 51 4
gpt4 key购买 nike

我正在使用 selenium 在 Python 中开发一个浏览器自动化项目。我正在尝试将图片上传到页面。我登录,转到该页面,然后单击上传按钮。单击上传按钮后,会打开一个 Windows 文件浏览器,我必须在其中选择文件路径并点击 Windows 浏览器上的打开按钮。我希望使这个过程自动化。以下是正在发生的事情的图像,以澄清:

enter image description here

现在,我想提供文件路径并单击打开按钮。要单击“上传照片”按钮,我使用以下代码行:

browser.find_element_by_css_selector("a._3m1z").click()

我在网上搜索了一下,找到了 send_keys 函数。我尝试了以下方法:

browser.find_element_by_css_selector("a._3m1z").send_keys(os.getcwd()+"/image.png")

我收到以下错误:

  File "C:\Users\Umar\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
(Session info: chrome=79.0.3945.88)

有人能指出哪里出了问题并指出正确的方向吗?我正在使用 python 3.7

最佳答案

Selenium 只能与浏览器交互。单击“上传照片”按钮后出现的窗口是 Windows 文件资源管理器,与浏览器无关。你必须使用像 PyWinAuto 这样的工具或 AutoIt与文件资源管理器交互。

关于您要实现的目标,有一些解决方法:(1) 使用 API,(2)将文件路径直接传递给上传按钮等。根据脚本的目的(自动化 UI 测试、自动化您的某些任务等),其中一些替代方案比其他替代方案更好。

关于python-3.x - Python selenium 使用windows浏览器上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59558106/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com