testing - "Choose File"不适用于 Firefox 但适用于 Chrome

标签 testing python-2.7 selenium-webdriver web-testing robotframework

我正在使用 robotframework、selenium2Library、selenium2 和 python27 来测试网络程序。它需要在我的网络程序中上传一个文件。我用 Choose File为输入字段提供文件路径值。但它不适用于 firefox,它在 chrome 中工作正常。当我在 firefox 中手动上传文件时,它有效。这是一个注册页面。 Javascript 代码告诉表单尝试提交时文件上传字段为空,因为 selenium 似乎没有为文件上传字段的值提供文件路径。而其他的输入字段,无论是这个文件上传字段之前的字段,还是之后的那些字段,都已经是输入值了。有谁知道如何解决这个问题或者是否有其他解决方案?

最佳答案

我已经成功地让 selenium 将文件路径直接输入到网页中。它大部分时间都有效,但我使用它的网站正在不断更新,一个星期你可以输入一个文件路径,下一周你不能,下一周你又可以。

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

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

您可以根据任何其他特性随意查找元素,并更换适合您使用的所有大写部分。

关于testing - "Choose File"不适用于 Firefox 但适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000048/

相关文章:

windows - 权限被拒绝 : Untitled. ipynb Windows 10 AWS 工作区

python - 两个非常相似的正则表达式,其他找不到匹配

java - 如何在selenium webdriver中选择 'mat-checkbox'?

python - Django 客户端不会在测试中删除

testing - 出于测试目的在服务器上登录用户

ruby - 如何在 Watir 中进行 console.log?

java - Selenium 无法获取http

testing - 在诱惑中将参数添加到测试标题

python - 程序与 map() 一起工作,但通过 pool.map() 引发 TypeError

spring-boot - Selenium 4.1 和 Spring boot Web 驱动程序版本问题