删除一个话题,点击页面上的删除按钮的时候,会有弹框,selenium针对弹框的API为Alert
![](https://img.haomeiwen.com/i11755552/4e0ec16fab1d7ff3.png)
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time
driver = webdriver.Chrome()
driver.get('http://118.31.19.120:3000/signin')
driver.find_element_by_id('name').send_keys('******')
driver.find_element_by_id('pass').send_keys('******')
# 相当于输入密码后按回车,等于“提交”按钮功能
driver.find_element_by_id('pass').submit()
driver.find_element_by_xpath('//*[@id="sidebar"]/div[1]/div[2]/div/div/span[1]/a').click()
driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[2]/div/a').click()
driver.find_element_by_css_selector('#manage_topic > a.delete_topic_btn > i').click()
time.sleep(3)
# 弹框取消操作
Alert(driver).dismiss()
# 弹框确认操作
# Alert(driver).accept()
![](https://img.haomeiwen.com/i11755552/e3740e1a28b9652c.png)
ActionChains(driver).drag_and_drop_by_offset(ele,200,200).pause(1).drag_and_drop_by_offset(ele,200,200).perform()
理解:
drag_and_drop_by_offset(ele,200,200)==>意思是按坐标拖动元素,ele是元素,200.200是坐标即以ele为原点拖动到坐标为(200xp,200xp)的位置,记为位置2
pause(1)动作暂停一秒
drag_and_drop_by_offset(ele,200,200)再次以位置2为原点再拖动到坐标为(200xp,200xp)的位置
perform()讲之前的操作存到一个列队后依次执行,完成操作
![](https://img.haomeiwen.com/i11755552/a2ebf701a2d07a7b.png)
网友评论