我尝试使用Java中的Selenium WebDriver自动从Firefox下载。 不幸的是,我已经找到了很多答案,但这在我的代码中并没有起作用。
我试过
Desc 3 : ujeuejduejtest test Card#9999
Desc 3 : 2323fseff dsftest Card#9999
Desc 3 : sdfsd fsdsdf kkkk Card#9999
但不可能工作! 我尝试下载的文件类型是CSV Excel文件。
在Mozilla>选项>应用程序中,尽管我添加了setPreference,但任何自动化都是可见的。
就在此之前,我刚刚添加了
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.download.dir", "D:\\");
profile.setPreference("browser.helperApps.neverAsk.openFile","application/msword, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream");
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/msword, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream");
因为我的公司有代理,但这次是在Mozilla>选项>互联网设置中,我添加的代理规则是可见的。
答案 0 :(得分:0)
我很久以前遇到过同样的问题,从你的代码中我看到了两种可能性:
如果您想要每个应用程序的列表,请检查this site,也许您应该也包含excel文件的MIME类型。例如:
application/excel
application/vnd.ms-excel
将以下选项添加到Firefox配置文件中,它将确保您禁用下载对话框。
profile.set_preference('browser.helperApps.alwaysAsk.force', False)
答案 1 :(得分:0)
非常感谢你的回答,我看到我并不孤单,这个问题,但似乎经常为人们工作...... 我试图添加你的代码,但没有区别。
可能问题来自计算机设置?
继续出现的弹出窗口: Download Popup Firefox
应该出现的应用规则(当然):csv automated donwload
顺便说一句,应用程序选项中的任何规则都会显示着名的profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/msword, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream, application/excel, application/vnd.ms-excel");
我不知道是不是应该。
我得到的最后一个想法是手动创建一个配置文件并在启动firefox浏览器时获取它,但我真的不知道它是否可能,知道我正在制作的应用程序必须在连接到VPN的任何计算机上工作。 / p>
再次感谢您的帮助,如果有人认为有解决方案,那就太棒了!
答案 2 :(得分:0)
在这种情况下,没有不同的方式, 创建Firfox配置文件进入Run Command
<script type="text/ng-template" id="secondTemplate">
<div ng-controller="sendUploadDetailsCtrl">
<div class="modal-header">
<h3>Please enter Group name!</h3>
</div>
<div class="modal-body">
<div>{{filePath}}</div>
<input type="text" name="groupName" id="groupName" ng-model="uploadGroupName" required />
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">Submit</button>
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>
它会要求您创建新的个人资料并启动该个人资料(请参阅https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles),手动尝试下载该文件,弹出窗口时只需检查自动下载,
然后在硒代码中添加配置文件
firefox.exe -P
尝试运行代码现在它将自动下载内容而不需要任何弹出窗口。