【问题标题】:Selenium C#:Unable to upload file on Web pageSelenium C#:无法在网页上上传文件
【发布时间】:2020-08-29 14:35:21
【问题描述】:

如果我尝试使用“SendKeys”方法,我正在尝试在网页上上传文件我随机收到以下错误“向远程 WebDriver 服务器发送 HTTP 请求时抛出了一个带有空响应的异常在附加文件时获取 URL”,所以我认为与其直接将文件路径发送到元素,不如单击按钮,然后尝试使用“DriverContext.Driver.SwitchTo().ActiveElement().SendKeys(PANcopyPath);”方法。但是元素本身是“输入类型”,因此我使用了附加方法,但它不起作用。请帮忙。

【问题讨论】:

标签: c# image selenium upload


【解决方案1】:

我不知道我是否真的理解这个问题,但我有2个想法:

1) 文件是否在您的代码文件夹中?这将有助于找到它而不是使用例如桌面路径。

2) 我们需要更多关于 web 元素的信息,也许您将其指向错误或不方便的属性,例如,重复的类名,它会选择第一个并引发异常。

在我的例子中,我将文件放在代码的文件夹中,然后只调用它的名称以避免跟踪我一直在使用时遇到问题的路径。

希望对你有所帮助。

【讨论】:

  • 问题是我想发送按键“ENTER”而不是单击“浏览”按钮。但它不起作用并给出附加错误。
  • Selenium 不适用于 windows 对象,因此您无法使用弹出窗口上传文件。您必须“在幕后工作”,只需将文件路径发送到上传元素。
  • 我尝试像 driver.FindElement(By.XPath("XPath of Element")).SendKeys("Path of File") 那样直接发送文件路径。它有 50% 的时间可以正常工作,但随机给出附加错误(原始帖子以蓝色突出显示)。因此,我正在寻找其他相同的方法。
  • 您有可以发布的 html 或页面链接吗?
  • 这是我的元素的 HTML
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多