selenium弹出框操作-alert/confirm/promot

不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert。先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决。

alert\confirm\prompt弹出框操作主要方法有:

text:获取文本值

accept() :点击"确认"

dismiss() :点击"取消"或者叉掉对话框

send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框

一、认识alert\confirm\prompt

     1.如下图,从上到下依次为alert\confirm\prompt,先认清楚长什么样子,以后遇到了就知道如何操作了。

 

2.html源码如下(有兴趣的可以copy出来,复制到txt文本里,后缀改成html就可以了,然后用浏览器打开)

<html>  

<head>  

   <title>Alert</title>  

    </head>  

<body>  

<input id = "alert" value = "alert" type = "button" onclick = "alert('您关注了yoyoketang吗?');"/>  

<input id = "confirm" value = "confirm" type = "button" onclick = "confirm('确定关注微信公众号:yoyoketang?');"/>  

<input id = "prompt" value = "prompt" type = "button" onclick = "var name = prompt('请输入微信公众号:','yoyoketang'); document.write(name) "/>    

</body>   

</html> 

二、alert操作

    1.先用switch_to_alert()方法切换到alert弹出框上

    2.可以用text方法获取弹出的文本 信息

    3.accept()点击确认按钮

    4.dismiss()相当于点右上角x,取消弹出框

(url的路径,直接复制浏览器打开的路径)


from selenium import webdriver
import time


url = "file:///F:/workspace/testalret.html" #html路径
driver = webdriver.Chrome()
driver.get(url)
time.sleep(4)
driver.find_element_by_id("alert").click() #alert操作
time.sleep(2)
getscreenshot(driver,"弹窗截图")

# t = driver.switch_to.alert()
t = driver.switch_to.alert #alert后面不带()
print(t.text) #打印弹窗文本内容
t.accept() #点弹框确认按钮
# t.dismiss() #相当于点 x 关闭,关闭弹窗
driver.quit()

三、confirm操作

   1.先用switch_to_alert()方法切换到alert弹出框上

    2.可以用text方法获取弹出的文本 信息

    3.accept()点击确认按钮

    4.dismiss()相当于点取消按钮或点右上角x,取消弹出框

(url的路径,直接复制浏览器打开的路径)

from selenium import webdriver
import time

url = "file:///F:/workspace/testalret.html"
driver = webdriver.Chrome()
driver.get(url)
time.sleep(4)
driver.find_element_by_id("confirm").click() #confirm操作

time.sleep(2)
t= driver.switch_to.alert
print(t.text)

t.accept()#点击弹窗确认按钮

四、prompt操作

   1.先用switch_to_alert()方法切换到alert弹出框上

    2.可以用text方法获取弹出的文本 信息

    3.accept()点击确认按钮

    4.dismiss()相当于点右上角x,取消弹出框

    5.send_keys()这里多个输入框,可以用send_keys()方法输入文本内容

(url的路径,直接复制浏览器打开的路径)​

url = "file:///F:/workspace/testalret.html"
driver = webdriver.Chrome()
driver.get(url)
time.sleep(4)
driver.find_element_by_id("prompt").click() #confirm操作
t= driver.switch_to.alert
print(t.text)
t.send_keys("娃子,你好")
time.sleep(5)
t.accept()
# t.dismiss()

猜你喜欢

转载自www.cnblogs.com/pantheryao/p/12132469.html