Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium将文件上载到网页_Python_Selenium_Selenium Webdriver - Fatal编程技术网

Python Selenium将文件上载到网页

Python Selenium将文件上载到网页,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我正在尝试将文件上载到一个网站,该网站有一个用于上载文件的下拉框区域,我尝试了element。单击()会显示windows弹出窗口以选择文件,当我尝试element.send_keys('path')时,它会引发一条消息:element不可交互,如何解决此问题 以下是网站: 提前感谢。上传输入控件打开一个本机对话框(由浏览器完成),因此通过Selenium单击控件或浏览按钮将弹出对话框,测试将挂起 解决方法是通过JavaScript设置上传输入的值,然后提交表单 //模拟单击 webdriver

我正在尝试将文件上载到一个网站,该网站有一个用于上载文件的下拉框区域,我尝试了element。单击()会显示windows弹出窗口以选择文件,当我尝试element.send_keys('path')时,它会引发一条消息:element不可交互,如何解决此问题

以下是网站:


提前感谢。

上传输入控件打开一个本机对话框(由浏览器完成),因此通过Selenium单击控件或浏览按钮将弹出对话框,测试将挂起

解决方法是通过JavaScript设置上传输入的值,然后提交表单

//模拟单击
webdriver.ActionChains(驱动程序)。将\移动到\元素(元素)。单击(元素)。执行()
//驱动程序是webdriver的实例
驱动程序。通过id(“IdOfInputTypeFile”)查找元素。发送密钥(os.getcwd()+“/video.mp4”)

os.getcwd()
返回当前工作目录
video.mp4
位于同一目录下运行脚本的旁边。

感谢您的建议,我已经像这个驱动程序一样尝试过了。通过\u id(“上传程序块”)查找\u元素。发送\u键(os.getcwd()+“videos/video.mp4”)因为我在一个名为“videos”的目录中有视频,但仍然得到相同的可交互错误元素。我认为selenium没有找到元素try time。sleep(10)是的,即使在时间过后。sleep(10)仍然可以交互。我发现,你需要通过Javascript单击元素,而不是selenium使用的“自然”单击(尝试模拟用户体验)。所以请查看我的更新答案。嗯,我不知道我做错了什么,我创建了element=driver。按id(“上传可点击”)查找elemnt,并出现相同的错误