提问人:YasserKhalil 提问时间:7/4/2023 更新时间:7/5/2023 访问量:68
通过添加扩展 adblock selenium python 来禁用广告
Diable ads by adding extension adblock selenium python
问:
我正在尝试以下代码,该代码应该将扩展添加到驱动程序中adblock
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
def navigate_to_url(url):
options = Options()
options.add_argument('start-maximized')
options.add_extension('adblock.crx')
options.add_experimental_option('detach', True)
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get(url)
return driver
if __name__ == '__main__':
driver = navigate_to_url('https://www.google.com')
print(driver.current_url)
代码正在工作,扩展程序已经存在,但 adblock 扩展程序打开了一个新选项卡。如何防止此类页面被自动打开?
答:
0赞
YasserKhalil
7/5/2023
#1
我已经创建了这个,但我欢迎任何其他想法或解决方案
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from webdriver_manager.chrome import ChromeDriverManager
def navigate_to_url(url):
options = Options()
options.add_argument('start-maximized')
options.add_extension('adblock.crx')
options.add_experimental_option('detach', True)
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get(url)
unwanted_url = 'https://getadblock.com/en/installed/'
try:
WebDriverWait(driver, 10).until(EC.url_to_be(unwanted_url))
except TimeoutException:
pass
for handle in driver.window_handles:
if handle != driver.current_window_handle:
driver.switch_to.window(handle)
driver.close()
driver.switch_to.window(driver.window_handles[0])
return driver
if __name__ == '__main__':
driver = navigate_to_url('https://www.google.com')
print(driver.current_url)
评论