【问题标题】:upload file by Chrome File Upload dialog using selenium webdriver in headless mode in python在python中以无头模式使用selenium webdriver通过Chrome文件上传对话框上传文件
【发布时间】:2019-09-30 13:52:59
【问题描述】:

我正在尝试在无头模式下使用 selenium chrome 驱动程序将文件上传到网络,但网络不支持使用 send_key 的输入标签,它会打开一个 Chrome 文件上传对话框。我尝试使用 pyautogui 处理键盘并将计算机中的文件路径输入到对话框中,但它只是在没有无头模式的情况下工作。

有没有办法解决这个上传问题?

【问题讨论】:

    标签: selenium dialog webdriver headless


    【解决方案1】:

    您可能想尝试运行一些 Javascript 来显示 input 元素。我亲自在无头模式下运行测试,成功地执行了这个确切的功能。

    # Fetch file input element
    fileInput = driver.find_element_by_xpath("//input[@type='file']")
    
    #  Execute Javascript to reveal the element
    driver.execute_script("arguments[0].style.display = 'block';", fileInputElement)
    
    # Send keys to file input
    fileInput.send_keys("Path/To/File/To/Upload")
    

    完成此操作后,您可以send_keys 隐藏元素。

    【讨论】:

    猜你喜欢
    • 2017-10-02
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 2020-11-21
    • 2014-07-14
    相关资源
    最近更新 更多