In teoria, se copio tutti i cookie dall'oggetto webdriver
del selenio all'oggetto requests.Session
, le richieste potrebbero continuare come se la sessione fosse non interrotto? In particolare, mi interessa scrivere all'automazione dove arrivo a una posizione specifica nella pagina web tramite selenio, quindi passare un determinato collegamento di download a requests
, che scaricherà e verificherà i byte specifici dal file, ea volte un completo file. (Il valore del file scaricato cambierebbe in base alla mia interazione in selenio)È possibile "trasferire" una sessione tra selenium.webdriver e requests.session
13
A
risposta
12
Sì, funzionerà sicuramente. Anche lo snippet di codice seguente dovrebbe essere d'aiuto -
headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"
}
s = requests.session()
s.headers.update(headers)
for cookie in driver.get_cookies():
c = {cookie['name']: cookie['value']}
s.cookies.update(c)
Grande, grazie. Qual è lo scopo dell'aggiornamento delle intestazioni nella riga n. 2 e da dove proviene il parametro "intestazioni"? – Goro
Basta aggiornare la mia risposta. Le intestazioni servono solo per inviare intestazioni aggiuntive, la maggior parte dei siti si aspetta una stringa user-agent di browser popolari. –
Ah, ha senso. – Goro