在Selenium中未检测到Chrome提醒弹出窗口

时间:2017-12-08 05:17:27

标签: python-3.x google-chrome selenium basic-authentication

我在使用Selenium在Chrome中弹出身份验证时遇到问题。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys 
import time

driver = webdriver.Chrome()
driver.get('URL')
time.sleep(5)
alert = driver.switch_to_alert()
alert.send_keys('Username')
alert.send_keys(Keys.TAB)
alert.send_keys('Password')

这会返回错误 -

  

“selenium.common.exceptions.NoAlertPresentException:消息:没有警报打开”

或者,我也尝试了以下代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.get('https://Username:Password@URL')

第二个代码部分工作 -

在Chrome中,用户已登录但页面未加载。仅显示空白页面。加载空白页后,我只传递了URL(没有用户凭据),并且工作正常。

在Firefox中,网页加载完美。

基本上,问题出在Chrome上。

感谢任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

你尝试的第二个代码是正确的,但有一点点错误。

public void loginToSystem(String username,String password, String url){
driver = webdriver.Chrome()

driver.get("https://"+username+":"+password+"@ "+URL);
}

答案 1 :(得分:0)

首先尝试等待警报出现。

wait = WebDriverWait(driver, 10)
wait.until(EC.alert_is_present())

如果存在警报,则只将forword移动到下一步。 如果在测试用例失败时确实存在警报,还可以查看屏幕截图。