页面弹框有三种:
alert
: 用来提示
confirm
: 用来确认
prompt
: 输入内容
| # | 方法/属性 | 方法/属性描述 |
| --- | --- | --- |
| 1 | accept() | 接受 |
| 2 | dismiss() | 取消 |
| 3 | text | 显示的文本 |
| 4 | send_keys() | 输入内容 |
实例Code:
Python
from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import Select
import os
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
path = os.path.dirname(os.path.abspath(__file__))
file_path = 'file:///' + path + '/test_alert.html'
self.driver.get(file_path)
def test_alert(self):
self.driver.find_element_by_id('alert').click()
alert = self.driver.switch_to.alert
print(alert.text)
sleep(2)
alert.accept()
sleep(1)
print('Alert Pass')
def test_confirm(self):
self.driver.find_element_by_id('confirm').click()
confirm = self.driver.switch_to.alert
print(confirm.text)
sleep(2)
confirm.dismiss()
sleep(1)
print('Confirm Pass')
def test_prompt(self):
self.driver.find_element_by_id('prompt').click()
prompt = self.driver.switch_to.alert
print(prompt.text)
prompt.send_keys('20')
sleep(2)
prompt.accept()
sleep(2)
print('Prompt Pass')
if __name__ == '__main__':
case = TestCase()
case.test_alert()
case.test_confirm()
case.test_prompt()
case.driver.quit()
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="javascript:alert('提示框')" id="alert" >Alert</a><br>
<a href="javascript:confirm('此操作将删除数据')" id="confirm">Confirm</a><br>
<a href="javascript:var age = prompt('请输入年龄');document.write(age)" id="prompt">Prompt</a><br>
</body>
</html>