【问题标题】:How to close a chrome browser pop up window?如何关闭chrome浏览器弹出窗口?
【发布时间】:2016-12-31 23:28:53
【问题描述】:

我正在为 Facebook 编写代码,它从属性文件中获取 URL、ID、密码,但是在登录时我被提示“Facebook 想要显示通知 - 允许 - 阻止”登录它 (A.) 按 ESP 或 ALT+F4 并关闭弹出窗口或 (B.) 找到通知并自行关闭。这就是我使用的,但它不起作用。任何帮助表示赞赏。

    public void closePopup() throws InterruptedException{

    Thread.sleep(1000);
    Actions action=new Actions(driver);

    action.keyDown(Keys.ESCAPE).keyUp(Keys.ESCAPE).build().perform();

【问题讨论】:

  • 您可以使用driver.switchTo() 切换到弹出窗口。请参阅此stackoverflow.com/questions/19403949/…。首先确保它是浏览器弹出窗口还是基于窗口的弹出窗口。如果是基于窗口的弹出窗口,则必须使用Java robot api
  • 我尝试使用 driver.switchTo().alert().dismiss();但它说没有找到警报。我昨天也是其他链接,但似乎没有解决方案对我有用。我不知道它是 chrome 浏览器弹出窗口还是基于 Windows 的弹出窗口。使用 chromedriver.exe 登录 facebook 后,我得到了它。弹出窗口是唯一阻止我完成任务的东西。这是弹出窗口外观的链接。 stackoverflow.com/questions/38684175/…

标签: java selenium selenium-webdriver selenium-chromedriver selenium-ide


【解决方案1】:

经过进一步研究,我找到了答案。这是一个 chrome 通知,所以这是解决我的问题所需的步骤。

        ChromeOptions ops = new ChromeOptions();
        ops.addArguments("--disable-notifications");
        System.setProperty("webdriver.chrome.driver", "./lib/chromedriver");
        driver = new ChromeDriver(ops);

【讨论】:

    【解决方案2】:

    请按照以下步骤操作:

    第 1 步:

    //创建ChromeOptions类的实例

    ChromeOptions options = new ChromeOptions();
    

    第 2 步:

    //添加chrome开关禁用通知-“--disable-notifications

    options.addArguments("--disable-notifications");
    

    第 3 步:

    //设置驱动exe的路径

    System.setProperty("webdriver.chrome.driver","path/to/driver/exe");
    

    第四步:

    //将 ChromeOptions 实例传递给 ChromeDriver 构造函数

    WebDriver driver =new ChromeDriver(options);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-09
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多