错误是“ selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互”

时间:2019-10-04 13:31:59

标签: python selenium webdriver

我想在“ https://www.onlinedoctranslator.com/translationform”上上传一个excel文件,但是出现以下错误

  

selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互”

from selenium import webdriver
import time

driver = webdriver.Chrome('D:\Nitin_Data\chrom_driver\chromedriver.exe')
driver.maximize_window()
driver.get('https://www.onlinedoctranslator.com/translationform')
filepath = 'excel file path here'
upload_file = driver.find_element_by_xpath("//div[@class='dz-message 
needsclick']")
upload_file.send_keys(filepath)
time.sleep(5)
driver.quit()

1 个答案:

答案 0 :(得分:0)

这有点骇人听闻,但我过去曾成功地使用过它。您可以尝试在页面上找到文件input的元素,然后运行一些Javascript以使其可见,然后将文件路径文本发送到此处。

file_input = driver.find_element_by_xpath("//input[@type='file']")
driver.execute_script("arguments[0].style.display = 'block';", file_input)
file_input.send_keys(filepath)

如果display: block不起作用,您可以尝试切换可见性:

driver.execute_script("arguments[0].style.visibility= 'visible';", file_input)