Voglio aprire alcuni URL in diverse schede usando Selenium WebDriver & Python.Selenium non aprirà un nuovo URL in una nuova scheda (Python e Chrome)
io non sono sicuro di quello che sta andando male:
driver = webdriver.Chrome()
driver.get(url1)
time.sleep(5)
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL+'t')
url2 = 'https://www.google.com'
driver.get(item2)
ho guardato tutorial e mi sembra come se questo codice dovrebbe fare quello che voglio. In realtà, il browser si apre, url1 si apre come dovrebbe, una nuova scheda si apre come dovrebbe ma url2 quindi carica nella scheda originale anziché quella nuova (anche se la nuova scheda sembra essere quella attiva).
(Sto usando Chrome perché quando utilizzo Firefox non riesco a farlo caricare nessun URL.) Firefox si apre ma non ottiene l'url richiesto. Ho cercato di trovare una soluzione a questo ma senza successo.)
C'è qualcosa che posso modificare nel mio codice per aprire il nuovo URL nella nuova scheda?
Grazie per il vostro aiuto!
grazie, ma il bug sembra riguardare il fatto che ctrl-t non apre affatto una nuova scheda. Posso aprire una nuova scheda, ma non caricare un URL in quella scheda. Ho provato il tuo codice ma probabilmente non lo capisco correttamente. Si è verificato un errore sulla riga find_element_by_link (impossibile individuare l'elemento). Sto caricando una pagina html (una fonte di pagina), non sono sicuro che questo faccia la differenza. – SamH123
@ SamH123 okay, nel tuo caso è solo che devi fare "driver.switch_to.window (driver.window_handles [-1])' dopo aver aperto una nuova scheda. – alecxe
grazie mille, che ha funzionato! – SamH123