如果我在Chrome浏览器中使用Javascript Executor点击链接,Selenium- Popup会被阻止

时间:2015-11-25 04:32:01

标签: selenium selenium-webdriver webdriver selenium-chromedriver

问题描述 - 点击页面上的链接后,弹出窗口自动被阻止。

   file = new File("tools/chromedriver.exe");
   System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
   caps.setCapability("ignoreZoomSetting", true);
   caps.setCapability("nativeEvents", false);
   driver = new ChromeDriver(caps);

使用的环境 - Selenium WebDriver - 2.43.0 ChromeDriver,Windows 7

注意 - 它在Firefox& IE,此问题仅在Chrome上发生。

请协助。

2 个答案:

答案 0 :(得分:0)

这是Chrome Option to disable all popups for the site

  • 打开Chrome。
  • 找到阻止弹出窗口的页面。
  • 在地址栏的末尾,点击弹出窗口拦截器图标chrome op-up 锁定。
  • 点击您要查看的弹出窗口的链接。
  • 要始终查看网站的弹出窗口,请选择始终显示[site]的弹出窗口。 获得此设置后,使用保存的配置文件加载测试 另一种选择是打开网站并按Shift F5进行Cache Refresh Load a Profile。下面的代码是C#,您没有指定语言。请参阅为Java示例提供的链接
ChromeOptions options = new ChromeOptions();
userDataPath = "C:/Users/user_name/AppData/Local/Google/Chrome/User Data";
options.AddArguments("user-data-dir=" + userDataPath);
options.AddArguments("--start-maximized");
driver = new ChromeDriver("pathToChromeDriver", options);

答案 1 :(得分:0)

您可以传递chromeOption以允许弹出窗口,如下所示:

Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_setting_values.popups", 1);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);
WebDriver driver = new ChromeDriver(options);