小白rog 发表于 2022-12-16 14:49:50

如何自动屏蔽web自动化打开网页后产生的广告?

在web自动化下载软件安装包过程中,用Edge打开一些网站后会跳出广告界面但是好多广告没有固定的规律也不能全部屏蔽掉,利用iframe语句的话就只能屏蔽一些广告但是遇到id名称不对的广告出现还是会报错,也不能完全预料。
这个问题困扰好久,个人觉得是不是有什么python模块可以专门用来解决这个广告问题,然后直接插入利用的那种?求相关方面大佬的帮助,谢谢!

小白rog 发表于 2022-12-16 15:07:32

from selenium import webdriver
import time
import os

#打开浏览器驱动
driver_path=os.path.join(os.getcwd()+'\\msedgedriver.exe')
print(driver_path)

'''driver_path1="r"+"'"+driver_path+"'"
print(driver_path1)'''

wd = webdriver.Edge(driver_path)
wd.get('https://www.hwinfo.com/')#进入hwinfo官网
time.sleep(3)#让网页完整加载

wd.find_element_by_xpath('/html/body/article/div/div/div/a').click()#点击下载
wd.maximize_window()#窗口最大化
mainWindow = wd.current_window_handle#保存当前页面handle值便于返回
wd.switch_to.window(mainWindow)#返回原来窗口以防误触
wd.switch_to.frame('aswift_2')#去除广告 就是这里
wd.switch_to.frame('ad_iframe')
#wd.switch_to.frame('ad_position_box')
wd.find_element_by_id('dismiss-button').click()

time.sleep(3)#让网页完整加载

不知道行不行在前面加上一个保存handle的语句

小白rog 发表于 2022-12-16 15:08:08

help~~~

沐雨尘枫 发表于 2023-4-7 22:29:09

下个插件,永别广告

小白rog 发表于 2023-5-8 15:34:28

沐雨尘枫 发表于 2023-4-7 22:29
下个插件,永别广告

可以全方面屏蔽自动开启软件官网时弹出的广告?

不二如是 发表于 2023-5-14 13:59:51

可以考虑用 JavaScript 在开发者模式下屏蔽下:

// 屏蔽模态框和非响应式广告
const blocker = setInterval(() => {
const modal = document.querySelector('.modal');
const nonResponsiveAd = document.querySelector('.non-responsive-ad');
if (modal) modal.style.display = 'none';
if (nonResponsiveAd) nonResponsiveAd.style.display = 'none';
}, 500); // 每隔500毫秒检查一次

// 取消定时器
window.addEventListener('load', () => {
clearInterval(blocker);
});
页: [1]
查看完整版本: 如何自动屏蔽web自动化打开网页后产生的广告?