2017-04-11 104 views
2

考慮下面的代碼片段:禁用的webdriver的谷歌瀏覽器密碼泡沫測試

case "CHROME": 
    System.setProperty("webdriver.chrome.driver", DriverPaths.CHROMEPATH); 
    ChromeOptions options = new ChromeOptions(); 
    options.addArguments("disable-infobars"); 
    options.addArguments("--disable-extensions"); 
    options.addArguments("--disable-notifications"); 
    options.addArguments("--start-maximized"); 
    options.addArguments("--disable-web-security"); 
    options.addArguments("--no-proxy-server"); 
    options.addArguments("--enable-automation"); 
    options.addArguments("--disable-save-password-bubble"); 

    Map<String, Object> prefs = new HashMap<String, Object>(); 
    prefs.put("credentials_enable_service", false); 
    prefs.put("profile.password_manager_enabled", false); 
    options.setExperimentalOption("prefs", prefs); 
    return new ChromeDriver(); 

爲什麼我仍然看到: password bubble

和: infobar

任何想法?

+0

你知道最新的Chrome選項來禁用密碼泡沫?嘗試你在這裏列出的所有東西,我們仍然得到它! – GrayedFox

+0

@格雷德福克斯接受的答案爲我工作。你使用什麼版本的Chrome和Chromedriver? – Steerpike

回答

2

您將不得不使用以下命令: 選項是您的chrome選項。

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
WebDriver driver = new ChromeDriver(capabilities); 

通過將功能傳遞給chrome驅動程序,它們將被加載到chrome中。 DesiredCapabilities.chrome();將選擇正確的瀏覽器,在這種情況下Chrome。

+0

此方法不會出現在類ChromeOptions中?我正在使用Java而不是C# – Steerpike

+0

對不起,我的錯誤,我更新了我的答案 – Thomas

+0

哦,謝謝 - 讓我試試 – Steerpike

0

當您的帳戶設置爲自動登錄時,Chrome會要求輸入密碼。 這樣做會使您在重置/重新啓動系統時無法加載密鑰環。

Chrome正在向密鑰環索要密碼,因此它可以在密鑰環中訪問 存儲的信息。您可以通過從終端窗口運行seahorse命令來查看您的 系統上的鑰匙環。你可以 也只是通過關閉窗口繞過問題,仍然可以到達 您的網站沒有問題。某些安全性可能無法正確加載 。

但是,您可以從終端窗口中使用下面的命令來 旁通鑰匙圈問:

google-chrome-stable --password-store=basic 

希望這有助於!

可以將其設置爲自己的Chrome LAUNCHER TOO

@Terrance禮貌