Python Mit Adblock mit Selen und Firefox-Webdriver
Mein Ziel ist es, die Nutzung von Adblock Plus, mit Selen über Python. Ich war in der Lage, es zu bekommen bis zu dem Punkt, wo es die Erweiterungen laden wird, aber standardmäßig nicht enthalten ist der Standard-filter "EasyList." Hier ist was ich habe, so weit:
from selenium import webdriver
from time import sleep
ffprofile = webdriver.FirefoxProfile()
adblockfile = '/Users/username/Downloads/adblock_plus-2.4-tb+fx+an+sm.xpi'
ffprofile.add_extension(adblockfile)
ffprofile.set_preference("extensions.adblockplus.currentVersion", "2.4")
browser = webdriver.Firefox(ffprofile)
while(True):
browser.get("www.cnn.com")
sleep(5)
Meisten dieser code wurde abgezockt von http://selenium-python.readthedocs.org/en/latest/faq.html
- Klingt wie aus dem Bereich von Selen im Grunde Sie ändern möchten die Einstellungen einer Erweiterung. Ich bezweifle, ob dieser erreichbar ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich Adblock Plus EasyList hinzufügen von Standard -, aber nicht, wenn Sie
extensions.adblockplus.currentVersion
Präferenz zu deaktivieren update/first-run-Aktionen. Ich denke, dass Ihr Ziel war die Verhinderung der first-run-Seite zu zeigen, aber es auch verhindert, dass Daten-Speicher-Initialisierung. Beachten Sie, dass Sie mehr Probleme haben, hier: selbst wenn Adblock Plus fügt der EasyList, es dauert noch eine unbekannte Zeit herunterladen.Besser Vorgehen sollte es sein, initialisieren Sie Ihr Profil mit einem bestehenden
adblockplus/patterns.ini
- Datei. Sie erhalten diese Datei von Ihrer normalen Firefox-Profil, mit EasyList und andere filter-Einstellungen, und kopieren Sie es auf/Users/username/Downloads/profilemodel/adblockplus/patterns.ini
. Dann sollte Folgendes funktionieren:Gibt es einen besseren Weg, dies zu tun:
1) Auszug adblock.xpi mit 7-zip oder gleichwertigen
2) öffnen /modules/AppIntegration.jsm mit einem normalen text-editor
3) finden Sie die Deklaration der Funktion für "notifyUser()", und ersetzen Sie diese mit einer einfachen Rückgabe. zum Beispiel:
Nun müssen Sie nur package-Dateien wieder in eine zip, und ändern Sie die Erweiterung aus .zip an .xpi -- Voila!
Dies wird stop adblock laden Sie die willkommen-Seite, aber es wird noch konfigurieren die notwendigen Abonnement-Einstellungen. Stellen Sie sicher, NICHT zu nennen
Sonst wird es nicht wissen, um "boot selbst"
Bitte beachten Sie, dass dies für adblock_plus-2.0.3 da bin ich mit firefox-17. Der code ist vielleicht etwas anders, und in einen anderen Speicherort für die neueren Versionen. Siehe: https://issues.adblockplus.org/ticket/206#comment:5