Internet explorer 如何使用webdriver selenium从IE浏览器下载文件
我正在尝试使用webdriver为我的web应用程序实现下载文件功能。在chrome或firefox中,我们可以设置在单击下载按钮时将文件下载到指定位置的功能,而无需任何窗口提示 但在IE9中,我找不到任何下载选项的功能设置 同样在IE中点击下载按钮后,webdriver在窗口提示保存/打开/取消后挂起。单击操作后,Webdriver不会返回任何内容。我必须退出webdriver并重新创建webdriver对象以继续下一步 为了处理窗口提示,我尝试使用Sikuli/send键等方法。所有这些方法只有在窗口处于焦点时才起作用。当我运行脚本并锁定机器或者像via Jenkins一样通过远程运行时,它就不起作用了Internet explorer 如何使用webdriver selenium从IE浏览器下载文件,internet-explorer,selenium,download,webdriver,Internet Explorer,Selenium,Download,Webdriver,我正在尝试使用webdriver为我的web应用程序实现下载文件功能。在chrome或firefox中,我们可以设置在单击下载按钮时将文件下载到指定位置的功能,而无需任何窗口提示 但在IE9中,我找不到任何下载选项的功能设置 同样在IE中点击下载按钮后,webdriver在窗口提示保存/打开/取消后挂起。单击操作后,Webdriver不会返回任何内容。我必须退出webdriver并重新创建webdriver对象以继续下一步 为了处理窗口提示,我尝试使用Sikuli/send键等方法。所有这些方法
如何将IE no配置为提示保存选项,但将文件下载到任何预定义路径。与IE8一样,我们可以将regedit设置为设置下载路径。如果存在文件下载弹出窗口,Selenium将抛出模式对话框。有时webdriver会根据弹出窗口出现后在浏览器上执行的操作挂起 如果需要,您可以通过注册表手动执行: 如果您使用Java作为编码语言,则可以使用
Robot
class。例如,请参考下面的链接。
c#
中没有类,而Java
中的Robot
类。我正在使用来处理windows弹出窗口
希望这有帮助。要在IE浏览器中下载任何文件,最好使用cookies来完成。请使用cookies,而不是花毫无价值的时间寻找其他方法
List item
URL myUrl = new URL("linkName");
URLConnection urlConn = myUrl.openConnection();
urlConn.connect();
CookieStore cookieStore = seleniumCookiesToCookieStore();
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setCookieStore(cookieStore);
HttpGet httpGet = new HttpGet(downloadUrl);
System.out.println("Downloding file form: " + downloadUrl);
HttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = entity.getContent();
FileOutputStream fileOutputStream = new FileOutputStream("LocationToSave");
int read = 0;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
fileOutputStream.write(bytes, 0, read);
}
fileOutputStream.close();
System.out.println("Downloded " + entity.getContentType());
} else {}
通常,您获取文件的url,然后调用一些非webdriver函数来检索该文件。给定该url(在python中是urllib.urlretrieve(url,path)或类似的内容),您使用的是什么编程语言?可能是