【发布时间】:2021-03-02 14:11:13
【问题描述】:
我正在尝试将文件上传到一个网站,该网站有一个用于上传文件的下拉框区域,我尝试了 element.click() 并显示弹出窗口以选择文件,当我尝试 element.send_keys('path ') 它引发消息:元素不可交互,如何解决这个问题。
这里是网站:http://shareclips.net
提前致谢。
【问题讨论】:
标签: python selenium selenium-webdriver
我正在尝试将文件上传到一个网站,该网站有一个用于上传文件的下拉框区域,我尝试了 element.click() 并显示弹出窗口以选择文件,当我尝试 element.send_keys('path ') 它引发消息:元素不可交互,如何解决这个问题。
这里是网站:http://shareclips.net
提前致谢。
【问题讨论】:
标签: python selenium selenium-webdriver
上传输入控件会打开一个原生对话框(由浏览器完成),因此通过 Selenium 单击控件或浏览按钮只会弹出对话框,测试将挂起。
解决方法是通过 JavaScript 设置上传输入的值,然后提交表单。
// simulate click
webdriver.ActionChains(driver).move_to_element(element).click(element).perform()
// driver is instance of webdriver
driver.find_element_by_id("IdOfInputTypeFile").send_keys(os.getcwd()+"/video.mp4")
os.getcwd() 返回当前工作目录。 video.mp4 位于同一目录中正在运行的脚本旁边。
【讨论】: