Seite 1 von 1

Browser steuern mit Python

Verfasst: Donnerstag 12. November 2020, 16:06
von DanielAC
Hallo zusammen,

ich würde gerne eine mit Python aufgerufene Webseite speichern. Als Browser nutze ich Firefox (bzw. Tor). Wenn die Seite aufgerufen ist, kann ich Strg + s drücken und bekomme dann das Fenster um die Seite zu speichern.
Das soll aber automatisch passieren (also Strg + s, dann Enter).

Bis jetzt bin ich leider noch nicht großartig weitergekommen.
Die Seite öffnen klappt, aber Befehle wie

Code: Alles auswählen

ActionChains(driver).send_keys(Keys.CONTROL + 's').perform()
um das "Speichern unter"-Fenster zu öffnen, laufen ins Leere. Es gibt keine Fehlermeldung, sondern es passiert einfach nichts.

Hat jemand eine Idee, was ich machen muss?

Der ganze Code ist hier:

Code: Alles auswählen

def start_session():
    # Starten von Firefox unter Verwendung des Tor Browsers (zur Anonymisierung der IP)
    torexe = os.popen(r'C:\Users\XXX\OneDrive\Desktop\Tor Browser\Browser\TorBrowser\Tor\tor.exe')
    profile = FirefoxProfile(r'C:\Users\XXX\OneDrive\Desktop\Tor Browser\Browser\TorBrowser\Data\Browser\profile.default')
    profile.set_preference('network.proxy.type', 1)
    profile.set_preference('network.proxy.socks', '127.0.0.1')
    profile.set_preference('network.proxy.socks_port', 9050)
    profile.set_preference('network.proxy.socks_remote_dns', False)
    profile.update_preferences()
    driver = webdriver.Firefox(firefox_profile= profile, executable_path='C:/Users/XXX/OneDrive/Desktop/Tor Browser/Browser/geckodriver.exe')
    driver.maximize_window()

    global wait
    wait = WebDriverWait(driver, 10, poll_frequency=1, ignored_exceptions=[])
    wait.until(EC.url_changes)
    
    url = 'https://www.test.de'
    driver.get(url)
    
    print("geöffnet")
    time.sleep(10)
    
    ActionChains(driver).send_keys(Keys.CONTROL + 's').perform()
    
    


    return driver

############## Beginn des Hauptprogramms ###############################################################################
window = start_session()



Danke und Gruß
Daniel

Re: Browser steuern mit Python

Verfasst: Samstag 14. November 2020, 14:44
von stefanbunde
willst du wirklich alles von der webseite speichern (also bilder, javascript, css), oder reicht dir der html code?
falls du nur den html code brauchst, auf den kannst du über deinen driver zugreifen.

falls du wirklich alles kopieren willst, nutze am besten tools, wo sich andere leute schon über vieles gedanken gemacht haben. HTTrack ist zum beispiel ein website-kopierer. gibts auf jeden fall für linux und kann i.d.r. ganz leicht über die kommandozeile installiert werden. musst du nur halt gucken, dass das tool dann über eine tor-verbindung ins netz geht.