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三种弹框