Python和RPA网页自动化-处理alert弹框

以百度为例,分别使用python和RPA自动化完成以下步骤:设置->搜索设置->保存设置->确定

 

1、python代码如下

注意:[已经记录下您的使用偏好]弹框是无法捕获网页源代码的,也就无法捕获元素。既然无法捕获元素,那么怎么关闭弹框呢?

  • 这里我们使用switch_to.alert和accept()来关闭此弹框

拓展:JavaScript三种弹框

  • alert:警告消息框,accept()是点击确认
  • confirm:确认消息框,accept()是点击确认,dismiss()是点击取消
  • prompt:提示消息框,send_keys可往弹框输入值
from selenium import webdriver
from time import sleep

def alertBox():
    browser = webdriver.Chrome()
    browser.get("https://www.baidu.com")
    # 窗口最大化
    browser.maximize_window()
    sleep(1)
    # 点击[设置]
    browser.find_element_by_xpath('//*[@id="s-usersetting-top"]').click()
    # 点击[搜索设置]
    browser.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[1]').click()
    sleep(2)
    # 点击[保存设置]
    browser.find_element_by_xpath('//*[@id="se-setting-7"]/a[2]').click()
    warnbox = browser.switch_to.alert
    print("弹框提示语为:"+warnbox.text)
    # 点击[确定]
    warnbox.accept()
    sleep(2)

if __name__=="__main__":
    alertBox()

脚本运行打印结果

 

2、RPA指令如下

注意:[已经记录下您的使用偏好]弹框是无法捕获元素的,影刀提供了[处理网页对话框]指令处理此弹框

其中[处理网页对话框]指令可以用于处理alert、confirm、prompt三种弹框

 

posted @ 2024-01-16 16:53  dabeen  阅读(181)  评论(0编辑  收藏  举报