我试图以无头模式使用selenium chrome驱动程序将文件上传到Web,但是Web不支持使用send_key
的输入标签,它会打开Chrome
文件上传对话框。我尝试使用pyautogui来处理键盘,并在计算机中向对话框输入文件路径,但这在没有无头模式的情况下仍然有效。
是否有解决此上传问题的想法?
答案 0 :(得分:0)
您可能想尝试运行一些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
到隐藏的元素。