如何在复杂的HTML环境下用python Selenium上传图片

如何在复杂的HTML环境下用python Selenium上传图片,python,selenium,Python,Selenium,我正在设置一个网站上传过程的自动化,我现在正在努力上传图片 通常你会使用 uploadBtn.send_键(路径) ,但图像不会上传。我也一直在尝试实现一些Javascript,所以我添加了一个属性“type=file” 我的Python代码: uploadInput=driver。通过xpath(//a[contains(,,“Browse\”)查找元素# jsSetAttributeFileInput=“参数[0]。setAttribute(\“类型\”,\“文件\”) 执行_脚本(jsS

我正在设置一个网站上传过程的自动化,我现在正在努力上传图片

通常你会使用

uploadBtn.send_键(路径)
,但图像不会上传。我也一直在尝试实现一些Javascript,所以我添加了一个属性“type=file”

我的Python代码:

uploadInput=driver。通过xpath(//a[contains(,,“Browse\”)查找元素#
jsSetAttributeFileInput=“参数[0]。setAttribute(\“类型\”,\“文件\”)
执行_脚本(jsSetAttributeFileInput,uploadInput)
上传输入。发送密钥(设计[“设计路径”])
网站的HTML:

<a href="javascript:void(0)"> Browse </a>

我希望结果能上传我的照片,但它就是不上传。我没有收到任何错误,只是没有上传。我认为它与HTML有关,因为它是一个“a”标记而不是一个“input”标记

uploadInput = driver.find_element_by_xpath("//a[contains(.,\"Browse\")]")
uploadInput.send_keys(os.getcwd()+"/image.png")
找到您的提交按钮并单击它

其中
os.getcwd()
返回当前工作目录
image.png
位于同一目录中运行脚本的旁边

请尝试以下操作:

uploadInput = driver.find_element_by_xpath("//a[contains(.,\"Browse\")]")
uploadInput.send_keys(os.getcwd()+"/image.png")
找到您的提交按钮并单击它


其中
os.getcwd()
返回当前工作目录
image.png
位于同一目录中运行脚本的旁边

嗯,没有提交按钮。事情就是这样。路径也不应该是一个problem@SamsSkills您是否尝试过我的解决方案,但没有“提交”按钮。现在我尝试了,但没有帮助。仍然没有上传,我想这是因为javascript,你有解决方案或解决方法吗?嗯,没有提交按钮。事情就是这样。路径也不应该是一个problem@SamsSkills您是否尝试过我的解决方案,但没有“提交”按钮。现在我尝试了,但没有帮助。仍然没有上传,我想这是因为javascript,你有解决方案或解决方法吗?你可以参考这个答案。。。你也可以使用“Robot类”上传图片。你在上传节点中看到
元素了吗?@supputuri没有。所以我做了什么,我实现了一个autoit脚本,现在它工作了!你可以参考这个答案。。。你也可以使用“Robot类”上传图片。你在上传节点中看到
元素了吗?@supputuri没有。所以我做了什么,我实现了一个autoit脚本,现在它工作了!