簡體   English   中英

如何使用 Selenium/java 在 Google Chrome 的彈出通知中選擇“始終允許”?

[英]How do I choose to "always allow" in the popup notification in Google Chrome with Selenium/java?

彈出通知

我正在創建一個程序來自動向某些客戶端發送 whatsapp 消息,但屏幕上會出現一條通知,我想按始終允許在此過程中前進。 使用 Selenium 和 java。

我已經嘗試使用代碼來停用彈出通知,但它不起作用,所以我想接受權限以便通知不會出現,我想更改權限以便彈出通知不會出現。

import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;

/**
*
* @author DiseñoVerde
*/
public class Abrir_con_Chrome {
   
 
 public int enviarnumero(int numero) {

       int num = numero;
       
       System.setProperty("webdriver.chrome.driver", "C:\\Users\\DiseñoVerde\\OneDrive\\WhatsappDirect\\driver\\chromedriver.exe");

       ChromeOptions options = new ChromeOptions();
       
       Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_setting_values.notifications", 2);
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
prefs.put("profile.managed_default_content_settings.notifications", 1);

options.setExperimentalOption("prefs", prefs);
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions");
options.addArguments("--disable-notifications");



       
       WebDriver wd = new ChromeDriver(options);
      

       Actions builder = new Actions(wd);
       
       wd.get("https://wa.me/505" + num);
      

       return 0;

   }
}

我等你的答復謝謝!

// Try using chrome options as below.  
  Map<String, Object> pref = new HashMap<String, Object>();
    prefs.put("profile.default_content_setting_values.notifications", 2);
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("prefs", prefs);
    WebDriver driver = new ChromeDriver(options);

// if it does not work , you need to check outside selenium.

我前段時間遇到過類似的問題。 據我所知,實際上不可能使用 selenium 與這些彈出窗口進行交互,因為它不是網站的一部分,而是由瀏覽器本身呈現的內容。

您可以像這樣嘗試通過 ChromeOptions 禁用彈出窗口

options.addArguments("--disable-popup-blocking");

根據您的 chromedriver 版本,這可能不起作用。 如果是這樣,請嘗試以下操作:

ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("excludeSwitches",Arrays.asList("disable-popup-blocking")); caps.setCapability(ChromeOptions.CAPABILITY, options);

參考:

https://www.browserstack.com/docs/automate/selenium/enable-pop-ups

https://newbedev.com/how-to-click-allow-on-show-notifications-popup-using-selenium-webdriver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM