代码之家  ›  专栏  ›  技术社区  ›  Rajveer Singh

如何在dropzone上上载文件。js with style=“显示:无使用硒?

  •  1
  • Rajveer Singh  · 技术社区  · 7 年前

    我正在尝试在使用dropzone的网站上上载文件。js用于文件上载。 我在表单中找到了文件上传字段,但脚本停止了,没有抛出任何错误。 我还使用find\u elements\u by\u id(“上载输入”)来确保没有多个id相同的字段。

    elem = driver.find_element_by_id("upload-input")
    driver.implicitly_wait(2)
    elem.send_keys("C:\KVR.pdf")
    

    这是html的外观:

     <div id="fallback" style="display: none;">
        <input id="upload-input" type="file" name="file" multiple="multiple">
        <div id="upload-progress" class="upload-progress"></div>
      </div>
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   undetected Selenium    7 年前

    根据 HTML 您已共享 <input> tag具有 风格 设置为 显示:无; 。您可以使用以下代码块上载文件:

    element = driver.find_element_by_xpath("//div[@id='fallback']")
    driver.execute_script("arguments[0].removeAttribute('style')", element)
    driver.find_element_by_xpath("//input[@id='upload-input']").send_keys("C:\\KVR.pdf")
    
        2
  •  0
  •   Patrick    3 年前

    DropzoneJS隐藏 <input type="file"> 您可以按照以下说明找到:

     dz_inputs = driver.find_elements(By.XPATH, "//input[@type='file' and @class='dz-hidden-input']")
    

    然后,例如,要将文件添加到页面上的第一个dropzone,应按以下步骤进行:

    dz_inputs[0].send_keys("/File/path/file_name.extension")