Je suis suivi Ce tutoriel à Apprenez à utiliser le sélénium et je viens de réussir avec succès le code suivant:
from selenium.webdriver import Firefox from selenium.webdriver.firefox.options import Options opts = Options()opts.headless=True assert opts.headless # Operating in headless mode browser = Firefox(options=opts)browser.get('https://bandcamp.com') browser.find_element_by_class('playbutton').click()
4 Réponses :
du tutoriel que vous avez partagé:
Tout semble fonctionner. Afin de prévenir invisible sans tête les instances de navigateur d'accumulés sur votre machine, vous fermez le Objet du navigateur avant de quitter votre session Python: P> BlockQuote>
Essayez de procéder à ce qui suit pour voir si vos problèmes sont corrigés: P>
from selenium.webdriver import Firefox from selenium.webdriver.firefox.options import Options from selenium import webdriver # you need this to terminate program options = Options() options.headless = True driver = webdriver.Firefox(options=options) driver.get('https://bandcamp.com') driver.find_element_by_class('playbutton').click() ch = input('Do you want to quit the program y/n?') if ch == 'y': driver.quit() print('The program is terminated')
Merci! Je suis désolé, j'aurais dû mentionner que j'ai essayé d'exécuter le programme avec cela à la fin de celui-ci à rien - Firefox n'est toujours ouvert / en cours d'exécution.
Dans ce cas, vous avez besoin de pilote code> pour terminer le programme. Je vais le modifier en conséquence. @Christina
@Christina laissez-moi savoir si le édité ne fonctionne toujours pas
Il suffit d'ajouter Vous pouvez également vérifier la liste de processus (par exemple LSOF dans Ubuntu) P> P>
Vous pouvez ajouter ajouter navigateur.close () code> pour fermer l'onglet Actif et
Browser.Quit () code> Pour clôtrer tous les fenêtres du navigateur et la session / processus du conducteur de la fin. < / p>
ISpective du navigateur basé sur l'interface graphique ou Navigateur sans tête , à la fin de votre exécution de test, vous devez toujours appeler Donc, votre bloc de code efficace sera le suivant: P> navigateur.Quit () code> qui appelle le point de terminaison
/ shutdown code> et ensuite le WebDriver instance et le contexte de navigation em> sont détruits complètement fermer toutes les pages / onglets / Windows.
import os
import psutil
PROCNAME = "geckodriver" # or chromedriver or IEDriverServer
for proc in psutil.process_iter():
# check whether the process name matches
if proc.name() == PROCNAME:
proc.kill()