场景
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 webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimport timedriver = 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() |