Python+selenium自动化之30----EC模块之div弹窗

Python+selenium自动化之30----EC模块之div弹窗

弹窗有div、alert、confirm、prompt等几类,div弹窗其实和普通元素没有区别, div弹框是否被隐藏,一般情况下可以获取div弹框属性都会有style=" display: none;",none代表显示,如果出现属性值就是隐藏。有时候定位不到就可以结合EC、WebDriverWait设置等待,等到元素出现做出相应的操作。

实例还是使用腾讯企业邮箱,查看邮件列表,选择已读邮件删除,这里选择把QC通知的邮件删除。图中class为i.F则为未读,i.M则为已读。

Python+selenium自动化之30----EC模块之div弹窗_第1张图片

进入QC文件夹并点击删除,需要进入iframe内

Python+selenium自动化之30----EC模块之div弹窗_第2张图片

需要彻底删除邮件时会弹窗确认是否删除,该弹窗为div弹窗,因为弹窗不在iframe内,需要跳出。

弹窗判断

弹窗中的“确定”和“取消”的属性都具有唯一性,可以使用ID进行操作,这里结合EC和WebDriverWait进行确定元素是否存在且点击该元素。

需要首先导入:

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

 

Python+selenium自动化之30----EC模块之div弹窗_第3张图片

删除文件,点击确定按钮,使用presence_of_element_located(判断某个元素是否被加到了dom树里,并不代表该元素一定可见)判断元素是否存在。如果DIV弹窗元素为隐藏时,也可以使用该方法。

Python+selenium自动化之30----EC模块之div弹窗_第4张图片

你可能感兴趣的:(selenium,python,selenium,div,弹窗)