回答
try {
// Check the presence of alert
Alert alert = driver.SwitchTo().Alert();
// if present consume the alert
alert.Accept();
} catch (NoAlertPresentException ex) {
//code to do if not exist.
}
這不是一個警告框,所以它使用Alert
你不能處理,這是一個Chrome瀏覽器的通知,關掉您需要創建鉻偏好地圖鉻選項下面這個瀏覽器通知: -
//Create prefs map to store all preferences
Map<String, Object> prefs = new HashMap<String, Object>();
//Put this into prefs map to switch off browser notification
prefs.put("profile.default_content_setting_values.notifications", 2);
//Create chrome options to set this prefs
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);
//Now initialize chrome driver with chrome options which will switch off this browser notification on the chrome browser
WebDriver driver = new ChromeDriver(options);
//Now do your further steps
希望它能幫助.. :)
請按照下列步驟操作:
步驟1:
//創建ChromeOptions類的
ChromeOptions options = new ChromeOptions();
步驟2一個實例:
//添加鉻開關禁用通知 - 「- 禁用通知「
options.addArguments("--disable-notifications");
第3步:
//設置驅動程序exe文件路徑
System.setProperty("webdriver.chrome.driver","path/to/driver/exe");
第4步:
//通行證ChromeOptions實例ChromeDriver構造
WebDriver driver =new ChromeDriver(options);
這爲我工作 –
import unittest
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
import time
class SendMsgSkype(unittest.TestCase):
@classmethod
def setUpClass(cls):
options = Options()
options.add_argument("--disable-notifications")
cls.driver = webdriver.Chrome('./chromedriver.exe', chrome_options=options)
cls.driver.implicitly_wait(5)
cls.driver.maximize_window()
cls.driver.get("https://web.skype.com/ru/")
它可以工作我。 更多細節在這裏:http://nullege.com/codes/show/[email protected]@[email protected]@oxbiz.py/21/selenium.webdriver.Chrome
唯一的一個工作解決方案,我已經遇到到目前爲止是這樣的:
from selenium.webdriver.chrome.options import Options
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
沒有回答是否已經被接受了,這下面的代碼對我的作品
紅寶石,RSpec的,水豚
Capybara.register_driver :selenium_chrome do |app|
prefs = {"profile.managed_default_content_settings.notifications" => 2,}
caps = Selenium::WebDriver::Remote::Capabilities.chrome(chrome_options: { prefs: prefs })
Capybara::Selenium::Driver.new(app, browser: :chrome, desired_capabilities: caps)
end
Capybara.javascript_driver = :selenium_chrome
,如果你使用Ruby和水豚發揮試試這個代碼
Capybara.register_driver :chrome_no_image_popup_maximize do |app|
# 2: disable, other than 2 means enable it
preferences = {
"profile.managed_default_content_settings.notifications" => 2,
"profile.managed_default_content_settings.images" => 2,
"profile.managed_default_content_settings.popups" => 2
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome(
'chromeOptions' => {
'prefs' => preferences,
}
)
args = [ "--start-maximized" ]
Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps, :args => args})
end
Capybara.default_driver = :chrome_no_image_popup_maximize
Capybara.javascript_driver = :chrome_no_image_popup_maximize
Facebook身份驗證窗口顯示一個覆蓋,覆蓋繼續作爲[用戶名]按鈕。
這使得繼續按鈕,未點擊。爲了避免這個問題,你可以使用JavaScript(不推薦)以編程方式隱藏這些圖層(不要這樣做)。
// DO NOT USE THIS CODE.
function forceClickSetup(targetSelector) {
return browser.selectorExecute("div",
function(divs, targetSelector) {
var button = document.querySelector(targetSelector);
for(var i = 0; i < divs.length; i++) {
if(!divs[i].contains(button)) {
divs[i].remove();
}
}
return i;
}, targetSelector);
}
或者相反,你可以關閉該通知對話框,之後,Facebook將揭開繼續按鈕。但是在瀏覽器前猛擊Escape
,首先確保已經顯示繼續按鈕。
// USE THIS CODE.
browser.waitForVisible("[name=__CONFIRM__]");
browser.keys("Escape"); // Dismiss "notifications" dialog box.
var confirmButtonSelector = "[name=__CONFIRM__]";
該解決方案是真正Matthijs'(見上述評論)
- 1. 如何使用Selenium Webdriver與Java處理允許彈出Firefox的插件
- 2. 在excel中顯示通知彈出框
- 3. 如何使用Python Selenium Webdriver顯示值?
- 4. 通過單擊單元格顯示彈出框
- 5. 我想通知彈出窗口點擊「允許」按鈕,而不是使用硒
- 6. 如何使用硒webdriver處理鉻通知彈出窗口?
- 7. 使用Python + Selenium Chrome WebDriver處理通知
- 8. 如何在單擊彈出窗口時顯示輸入框?
- 9. 單擊圖像後如何顯示彈出框
- 10. 點擊JavaScript彈出通過webdriver的
- 11. midori允許腳本打開彈出框
- 12. 即使顯示覆選框,單擊複選框也無法使用Selenium webdriver工作
- 13. 如何通過Selenium的WebDriver使用修飾鍵提供點擊?
- 14. 顯示彈出框
- 15. 如何使用Selenium Webdriver單擊具有特定文本的div?
- 16. 如何使用selenium Webdriver處理Javascript單擊?
- 17. Parse.FacebookUtils.logIn只允許通過彈出框登錄Facebook嗎?
- 18. Selenium IDE:如何彈出對話框並等待用戶單擊確定
- 19. 如何等待元素將會顯示,然後在Python Selenium Webdriver中單擊?
- 20. 顯示彈出框右鍵單擊JTree節點擺動
- 21. 使用selenuim webdriver通過點擊登錄到彈出窗口
- 22. 如何使用Selenium的webdriver
- 23. 如何使用Selenium的webdriver
- 24. 單選按鈕在點擊上顯示模式彈出框
- 25. 如何在應用程序關閉時單擊通知時顯示對話框
- 26. 如何顯示傳單標記的許多彈出窗口
- 27. 點擊通過Selenium/Webdriver複選框列表中的複選框
- 28. 無法使用Selenium關閉彈出框
- 29. 上下文菜單點擊顯示彈出框
- 30. 如何在wordpress中點擊按鈕時顯示iframe彈出框?
使其手動允許那些 –
現在我做同樣的!但是有沒有辦法讓硒做到這一點? – Sidhant
使用警報類 –