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
Java Selenium(Edge)无法设置要上载的文件_Java_Selenium_Testing_File Upload_Microsoft Edge - Fatal编程技术网

Java Selenium(Edge)无法设置要上载的文件

Java Selenium(Edge)无法设置要上载的文件,java,selenium,testing,file-upload,microsoft-edge,Java,Selenium,Testing,File Upload,Microsoft Edge,经过长时间的研究。。。我意识到微软的家伙:))不支持文件输入上的sendKeys(…)(在MS Edge上运行的Selenium Java) 所以我不认为我可以在Edge上测试文件上传 有人有什么解决办法吗。由于安全原因,使用JS对文件输入元素进行操作是被禁止的-我只是没有更多的想法。您可以像下面这样做: 定义异步函数/方法,该函数/方法将在文件选择器窗口出现时发送键并按enter键 启动方法#1 点击输入类型=文件; 这很可能会阻止进一步执行(取决于语言) 等待方法1完成 这里最复杂的是方法1

经过长时间的研究。。。我意识到微软的家伙:))不支持文件输入上的
sendKeys(…)
(在MS Edge上运行的Selenium Java)

所以我不认为我可以在Edge上测试文件上传


有人有什么解决办法吗。由于安全原因,使用JS对文件输入元素进行操作是被禁止的-我只是没有更多的想法。

您可以像下面这样做:

  • 定义异步函数/方法,该函数/方法将在文件选择器窗口出现时发送键并按enter键
  • 启动方法#1
  • 点击输入类型=文件; 这很可能会阻止进一步执行(取决于语言)
  • 等待方法1完成
  • 这里最复杂的是方法1。它可能无法在某些浏览器/平台上工作


    遗憾的是,edge很糟糕,microsoft不想修复大多数edge缺陷。

    尝试使用robot对象

    也可以尝试使用“切换到”


    我认为actions对象也可能起作用

    所以,只要它不适用于所有浏览器/平台,您就应该只适用于Edge!