【问题标题】:Selenium WebDriver file upload issue on ChromeDriverChromeDriver 上的 Selenium WebDriver 文件上传问题
【发布时间】:2020-10-24 03:29:08
【问题描述】:

在 GitLab 上提交合并请求时,我尝试从本地驱动程序附加文件,当我单击“附加文件”按钮时,当我从本地选择文件时,它将显示在文本区域输入中。

当我尝试通过 selenium 自动化时,在从本地驱动器中选择文件后,我无法附加文件,因为输入文本区域没有直接包含文件存储位置的本地驱动程序路径。

即: 输入文本区域应该包含类似 "C\test.PNG" 但它有 "![test](/uploads/2536727737372/test.PNG"

有没有办法我们仍然可以自动化这个场景?

【问题讨论】:

  • 显示您的代码。
  • 不确定如何为这种情况编写一个。
  • driver.findElement(By.cssSelector("span.text-attach-file")).click()。这会打开窗口选项卡,提示从本地驱动器中选择一个文件,此时我们在不允许硒自动化的浏览器上处于非活动状态

标签: selenium selenium-webdriver automation selenium-chromedriver ui-automation


【解决方案1】:

您可以 element.sendkeys 将文件路径直接发送到“附加文件”按钮元素,文件应该会被上传。

WebElement attachAFile = driver.findElement(By.id("attachAFile"));

attachAFile.sendKeys("C\\test.PNG");

无需点击“附加文件”按钮即可上传文件!

【讨论】:

  • 我试过这个.. 但我在附加附件的文本区域部分看到这个:(/uploads/Test.PNG) 但它应该类似于: (/uploads//Test.PNG)。我已将该格式作为问题的屏幕截图附上
  • 我认为某处 git 将文件保存到其临时存储并从那里获取..
猜你喜欢
  • 2015-02-21
  • 2020-09-13
  • 2013-09-20
  • 2014-10-01
  • 2021-05-24
  • 2016-01-10
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
相关资源
最近更新 更多