首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理自动化警报

处理自动化警报
EN

Stack Overflow用户
提问于 2020-06-14 17:07:52
回答 3查看 72关注 0票数 2

我正在尝试使用selnium自动输入数据,但每次点击网站后,我都会看到一个类似下面附图的登录弹出窗口。Selenim是否有能力处理此类警报?

Sign In Alert

我已经尝试了以下python代码

代码语言:javascript
复制
try:
    WebDriverWait(browser, 10).until(EC.alert_is_present())
    alert = browser.switch_to_alert()
    alert.dismiss()
except TimeoutException:
    pass

什么是处理浏览器自动化弹出窗口的正确方法?

EN

回答 3

Stack Overflow用户

发布于 2020-06-14 19:10:31

这是基本的授权登录提示。不幸的是,您不能使用Selenium将其自动化。但是,您可以绕过此警报,在URL中传递您的凭据,例如:

代码语言:javascript
复制
username = ... # your username here
password = ... # password here
driver.get(f"https://{username}:{password}@us-east-023.staticnetconent.com")
票数 1
EN

Stack Overflow用户

发布于 2020-06-15 01:20:49

正如我所理解的,如果你每次弹出窗口时都按ESC键,那么为什么不自动按下ESC键呢,让我们试试这个:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
    WebDriverWait(browser, 10).until(EC.alert_is_present())
   # the following simulates the ESC button pressing 
   webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()
票数 1
EN

Stack Overflow用户

发布于 2020-06-14 17:32:59

试试这个:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.keys import Keys 
import time

driver=webdriver.Firefox()
driver.get('//Url need to be pass')
time.sleep(3)
driver.switch_to.alert.send_keys(username + Keys.TAB + password)
time.sleep(3)
driver.switch_to.alert.accept()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62370479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档