【问题标题】:How to send keys to the file upload dialog in Selenium?如何将密钥发送到 Selenium 中的文件上传对话框?
【发布时间】:2019-11-29 15:38:22
【问题描述】:

我正在这样做(在 Selenium 之上使用 Watir):

browser.span(:id => 'Upload').click

注意,这既不是<input>,也不是<button>。它只是一个<span>,它(通过一些JavaScript)与一个文件上传对话框做出反应,它希望我给它一个文件名。我需要将文件名发送到其中,然后点击Enter。我如何在 Selenium 中做到这一点?

我做不到:

browser.span(:id => 'Upload').sendKeys(file)

因为我得到:

error: element not interactable

【问题讨论】:

  • 包含WATIR标签,人们会在你的路上帮助你。
  • 请在与元素交互之前提供一些显式等待。
  • @KunduK 他正在使用 watir,因此不需要显式等待元素变为可见,因为这是自动的。
  • 这不是我所期望的错误。单击时会发生什么?它是否按预期弹出文件上传对话框?花哨的前端开发人员覆盖标准 html 行为可能会使其中一些特别具有挑战性。
  • 页面中有type=file属性和值的隐藏输入框吗?

标签: ruby selenium watir


【解决方案1】:

使用以下代码上传文件。

browser.element(:css => "input[type='file']").sendKeys(file_path)

【讨论】:

    猜你喜欢
    • 2017-04-15
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多