当前位置:   article > 正文

Selenium——浏览器设置_download.prompt_for_download

download.prompt_for_download

1. 背景
由于Selenium操作浏览器是不加载任何配置的,因此会导致自动胡测试失败。

2. 解决方案
chromeOptions

设置 chrome 二进制文件位置 (binary_location)
添加启动参数 (add_argument)
添加扩展应用 (add_extension, add_encoded_extension)
添加实验性质的设置参数 (add_experimental_option)
设置调试器地址 (debugger_address)
  • 1
  • 2
  • 3
  • 4
  • 5

EdgeOptions同上

EdgeOptions适用于Chromium内核的Edge浏览器(已经集成至Selenium4.0)
若4.0以下版本想要使用EdgeOptions,需使用[msedge-selenium-tools-java](https://github.com/microsoft/edge-selenium-tools/releases)
  • 1
  • 2

3. 示例

System.setProperty("webdriver.chrome.driver", driver);
DesiredCapabilities desiredCapabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.merge(desiredCapabilities);
options.setExperimentalOption("prefs", prefs);
WebDriver driver = new ChromeDriver(options);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

若使用Edge浏览器,将上记代码中的chrome关联的代码换成Edge即可。
实测,Selenium3.5版本无效,2.52和3.9版本有效。

4. 参考

  1. 设置下载目录
prefs.put("download.prompt_for_download", false);
prefs.put("download.default_directory", System.getProperty("user.dir"));
  • 1
  • 2
  1. 禁用自动下载
prefs.put("download.prompt_for_download", true);
  • 1
  1. 禁用自动优化
options.setExperimentalOption("useAutomationExtension", false); 
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
  • 1
  • 2
  1. 模拟移动端
//Android
options.add_argument('User-Agent=Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36')
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/459551
推荐阅读
相关标签
  

闽ICP备14008679号