在 python 中使用 selenium webdriver 在无头模式下通过 Chrome 文件上传对话框上传文件
upload file by Chrome File Upload dialog using selenium webdriver in headless mode in python
我正在尝试在无头模式下使用 selenium chrome 驱动程序将文件上传到网络,但网络不支持使用输入标签 send_key
,它会打开Chrome
文件上传对话框。我尝试使用 pyautogui 来处理键盘并在我的计算机中将文件路径输入到对话框中,但它在没有无头模式的情况下也能正常工作。
有什么办法可以解决这个上传问题吗?
您可能想尝试 运行宁一些 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
到隐藏元素。
我正在尝试在无头模式下使用 selenium chrome 驱动程序将文件上传到网络,但网络不支持使用输入标签 send_key
,它会打开Chrome
文件上传对话框。我尝试使用 pyautogui 来处理键盘并在我的计算机中将文件路径输入到对话框中,但它在没有无头模式的情况下也能正常工作。
有什么办法可以解决这个上传问题吗?
您可能想尝试 运行宁一些 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
到隐藏元素。