自动化测试基础篇--Selenium中JS处理浏览器弹窗

时间:2023-03-09 09:05:33
自动化测试基础篇--Selenium中JS处理浏览器弹窗

摘自https://www.cnblogs.com/sanzangTst/p/7692454.html

浏览器弹窗:

现在大多数网站都会使用自定义弹窗,使用Selenium自带的方法暂时处理不了,这时就需要js来处理浏览器弹窗问题
自动化测试基础篇--Selenium中JS处理浏览器弹窗
自动化测试基础篇--Selenium中JS处理浏览器弹窗
大家能看到,图中的这种弹窗就是现在主流的表现形式,处理这种弹窗可以利用HTML DOM Style 对象,有一个display属性,可以设置元素如何被显示,详细解释可以参考http://www.w3school.com.cn/jsref/prop_style_display.asp。将display的值设置成none就可以去除这个弹窗了:
js = 'document.getElementById("doyoo_monitor").style.display="none";'

完整代码:

自动化测试基础篇--Selenium中JS处理浏览器弹窗
 1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @File : div.py
4 # @Software: PyCharm
5 from selenium import webdriver
6 import time
7
8 driver = webdriver.Firefox()
9 driver.get("http://cd.tedu.cn/baidu-pp/dnpp1/?pz")
10 time.sleep(3)
11 js = 'document.getElementById("div_company_mini").style.display="none";'
12 driver.execute_script(js)
13 driver.quit()
自动化测试基础篇--Selenium中JS处理浏览器弹窗