You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python Selenium禁用Chrome中AdBlockerPlus的可接受广告

Selenium控制Chrome启动AdBlockerPlus关闭可接受广告的解决方案

完全可以实现需求,以下是两种可直接复用的方案:


方案1:预注入扩展配置(无界面操作,性能最优)

通过Chrome启动参数直接写入ABP的偏好配置,启动时直接关闭可接受广告开关,无需额外界面操作。
修改后的完整代码如下:

from selenium import webdriver

EXECUTABLE = r"~/chromedriver.exe"
ADBLOCK = r"~/AdBlock –-der-beste-Ad-Blocker_v4.35.0.crx"

# set options for driver
options = webdriver.ChromeOptions()
options.add_extension(ADBLOCK)

# 新增:预配置ABP禁用可接受广告
prefs = {
    "extensions.settings": {
        "gighmmpiobklfepjocnamgkkbiglidom": {
            "preferences": {
                "acceptable_ads_enabled": False
            }
        }
    }
}
options.add_experimental_option("prefs", prefs)

driver = webdriver.Chrome(executable_path = EXECUTABLE, options=options)

# get the URL
url = "https://www.dcclothesline.com/author/deangarrison/"
driver.maximize_window()
driver.implicitly_wait(30)
driver.get(url)

# calculate size of the loaded page
w2 = driver.execute_script("return document.body.offsetWidth;")
h2 = driver.execute_script("return document.body.offsetHeight;")
print("Webpage size with ad block", w2*h2)

driver.close()

方案2:模拟操作设置界面(全版本兼容)

如果方案1因为ABP版本差异不生效,可通过自动访问ABP内置设置页,模拟手动取消勾选的操作,兼容性最强。
修改后的完整代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

EXECUTABLE = r"~/chromedriver.exe"
ADBLOCK = r"~/AdBlock –-der-beste-Ad-Blocker_v4.35.0.crx"

# set options for driver
options = webdriver.ChromeOptions()
options.add_extension(ADBLOCK)
driver = webdriver.Chrome(executable_path = EXECUTABLE, options=options)
driver.implicitly_wait(30)

# 新增:操作ABP设置关闭可接受广告
driver.get("chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/options.html")
# 等待选项加载完成
accept_ad_toggle = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.ID, "acceptable-ads-allow"))
)
# 已勾选则取消
if accept_ad_toggle.is_selected():
    accept_ad_toggle.click()

# 再访问目标URL
url = "https://www.dcclothesline.com/author/deangarrison/"
driver.maximize_window()
driver.get(url)

# calculate size of the loaded page
w2 = driver.execute_script("return document.body.offsetWidth;")
h2 = driver.execute_script("return document.body.offsetHeight;")
print("Webpage size with ad block", w2*h2)

driver.close()

注意事项

如果ABP版本更新后元素ID变更,可手动打开ABP设置页,通过F12开发者工具重新定位「可接受的广告」复选框的选择器替换即可。


内容的提问来源于stack exchange,提问作者NPD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:42:00