使用Selenium Python将文件上载到自动上传输入表单

时间:2017-04-20 08:07:10

标签: python forms selenium file-upload

我正在尝试查看是否可以通过此页面上的selenium驱动程序上传表单:

https://boards.greenhouse.io/6sense/jobs/240895

这是我的代码:

file_element = browser.findElementByID("file") # just an abstraction, this part works
file_element.send_keys("/path/to/resume.pdf")

这就是元素的样子:

<form id="s3_upload_for_resume" data-key-template="applications/resumes/{timestamp}-{unique_id}-33183b0c37983a3799816701ed7d2135/${filename}" enctype="multipart/form-data" action="https://grnhse-prod-jben-us-east-1.s3.amazonaws.com/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
  ...
  <input type="file" name="file" id="file">
</form>

我认为它可以轻松地将我的文件插入输入框但是我得到超时并被要求刷新页面。这与文件如何上传到服务器有什么关系?这不是选择文件然后单独按下上传的典型情况,所以我觉得自动上传阻止我通过Selenium放置我自己的文件。还有另一种解决方法吗?

1 个答案:

答案 0 :(得分:0)

我的问题实际上是我的文件路径。我把它作为/Users/folder\ with/space并且意识到我正在用bash语法编写文件路径.Python不会将其作为有效输入,因此无法找到我的文件。删除\后,它就可以了。