【发布时间】:2017-12-08 05:17:26
【问题描述】:
我在处理通过 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 上。
感谢任何帮助。
谢谢!
【问题讨论】:
-
尝试将用户名和密码连同网址一起发送。
-
我试过了。在我在问题中发布的替代代码中,我将用户名和密码连同 url 一起发送。但这不能正确加载网页。
-
你能分享你收到警报或弹出窗口的网址吗
-
@AhsanRoy 不,我没有。不过,我确实找到了部分解决方案。这是帖子的第二部分。或者您可以查看由 DebanjanB 标记到此帖子的另一个问题。这也可能对您有所帮助 - Handling “Authentication Required” alert box with Python 2.7 + Selenium Webdriver
标签: python-3.x google-chrome selenium basic-authentication