鼠标事件之drag_and_drop()方法使用,drag_and_drop()方法涉及到参数传递,一个是要拖拽元素的起点,一个是要拖拽元素的终点;同时本段代码中涉及到了对web界面弹框的处理,webdriver中提供的switch_to_alert()方法可以跳转至弹框界面,text可以获取弹框上的文本信息,accept()方法可以接收弹框的确认按钮,dismiss()方法相当于执行关闭弹框的操作;
本文章参见天涯笨熊的博客,原博客地址:https://blog.csdn.net/qq_29186489/article/details/78661008
# coding="utf-8"
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
from selenium.webdriver.common.alert import Alert
browser = webdriver.Firefox()
url = "http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable"
try:
browser.get(url)
#切换到目标元素所在的frame
browser.switch_to.frame("iframeResult")
#确定拖拽目标的起点
source = browser.find_element_by_id("draggable")
#确定拖拽目标的终点
target = browser.find_element_by_id("droppable")
#形成动作链接
actions = ActionChains(browser)
actions.drag_and_drop(source,target)
#执行
actions.perform()
sleep(5)
'''
1.先用switch_to_alert()方法切换到alert弹出框上
2.用text方法获取弹出的文本框的文本信息
3.accpet()方法点击确认按钮
4.dimiss()相当于点击右上角的取消按钮,取消弹出框
'''
t = browser.switch_to_alert()
print(t.text)
t.accept()
#t.dismiss()
sleep(10)
except BaseException as msg:
print(msg)
finally:
browser.close()