"Choose File"不适用于火狐,而它适用于Chrome



我正在使用robotframework,selenium2Library,selenium2和python27来测试Web程序。它需要在我的网络程序中上传文件。我使用选择文件为输入文件提供文件路径值。但它不适用于火狐,并且在 chrome 中工作正常。当我在火狐中手动上传文件时,它可以工作。这是一个注册页面。Javascript代码告诉当表单尝试提交时文件上传字段为空,因为Selenium似乎没有给出文件上传字段值的文件路径。其他输入字段都是输入值,无论此文件上传文件之前的字段还是之后的字段。有谁知道如何解决这个问题,或者有没有其他解决方案?

我已经成功地让 selenium 直接在网页中键入文件路径。它大部分时间都有效,但我使用它的网站不断更新,一周您可以键入文件路径,下周不能,下周您可以再次输入。

我这样说是为了预防,这可能不是最终的解决方案,但在某些情况下它有效。您的特定情况可能能够使用此方法。

driver.find_element_by_name("FILE_UPLOAD_ELEMENT_NAME").send_keys(os.path.expanduser("~/PATH_TO_FILE"))

随意通过任何其他特性找到元素,并更换适合您使用的所有大写部件。

最新更新