无法使用Selenium上传文件

时间:2017-06-28 11:06:58

标签: python selenium selenium-webdriver

我试图在eclipse上使用此代码使用Selenium将文件上传到表单:

search = driver.find_element_by_xpath("//input[@type='file']")
search.send_keys("D:/test.txt")
search.send_keys(Keys.RETURN) 

此错误一直显示:

  

selenium.common.exceptions.WebDriverException:消息:文件没有   发现:D:/test.txt

文件到位了,您认为问题在哪里?

1 个答案:

答案 0 :(得分:2)

我猜原因是在路径中使用的斜线内 - 我认为它需要反斜杠。

如果您尝试使用search.send_keys("D:\\test.txt")怎么办?不确定是否需要双反斜杠,因此您也可以尝试使用单反斜杠。

修改

我在简单的表单上尝试了我自己的代码,仅输入[type = file]和Submit按钮:

search = browser.find_element_by_xpath("//input[@type='file']")    
search.send_keys("F:\\test.txt")                                   
submit = browser.find_element_by_css_selector("input[type=submit]")
submit.click()

不知何故,它运行得很好,只需要反斜杠并使用Submit按钮而不是使用ENTER按钮。

因此,请确保您的文件实际存在于您发布的路径中,并且此类代码(至少在Windows上)可以正常工作。此外,您应该确保您拥有此文件的权限。