Python+Selenium--alert/confirm/prompt 处理

场景

webdriver 中处理JavaScript 所生成的alert、confirm 以及prompt 是很简单的。具体思路是使用switch_to.alert()方法定位到alert/confirm/prompt。然后使用text/accept/dismiss/send_keys 按需进行操做。

  • text                        返回alert/confirm/prompt 中的文字信息
  • accept                   点击确认按钮
  • dismiss                 点击取消按钮,如果有的话
  • send_keys           输入值,这个alertconfirm 没有对话框就不能用了,不然会报错

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
@time: 2019-12-15 17:27
@desc:
'''
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
 
driver = webdriver.Firefox()
#添加智能等待
driver.implicitly_wait(10)
 
driver.get('https://www.baidu.com/')
 
#进入搜索设置页面
elment = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(elment).perform()
driver.find_element_by_link_text('搜索设置').click()
time.sleep(5)
 
#修改设置
driver.find_element_by_id('s1_2').click()
time.sleep(5)
 
#保存设置
driver.find_element_by_link_text('保存设置').click()
 
#获取网页上的警告信息
alert=driver.switch_to_alert()
time.sleep(5)
 
#得到文本信息并打印
print (alert.text)
#接收警告信息
alert.accept()
 
# 取消对话框(如果有的话)
# alert.dismiss()
# 输入值(如果有的话)
# alert.send_keys('XXX')
 
driver.quit()
原文地址:https://www.cnblogs.com/chenlimei/p/12781220.html