2017-09-07 3 views
0

J'essaye juste d'exécuter ceci using le navigateur sans tête je ne comprends pas pourquoi il continue à me jeter l'erreur même si j'ai fourni l'argument. Ici, j'ai lu qu'il exige argument de passer options.add_argument(): - https://seleniumhq.github.io/selenium/docs/api/py/webdriver_firefox/selenium.webdriver.firefox.options.html#module-selenium.webdriver.firefox.optionsObtenir une erreur lors de l'exécution du navigateur firefox en mode sans tête en utilisant python 3

Erreur: - TypeError: add_argument() manquant 1 nécessaire argument de position: 'argument'

from selenium import webdriver 
from selenium.webdriver.firefox.options import Options 


options = Options.add_argument('-headless') 
browser = webdriver.Firefox(options) 
browser.get('https://intoli.com/blog/email-spy/') 
browser.implicitly_wait(50) 
heading = browser.find_element_by_xpath('//*[@id="heading-breadcrumb"]/div/div/div/h1').text 
print(heading) 
browser.close() 

Répondre

1

Vous devez créer un objet Options avant d'appeler la propriété. Pour plus d'informations sur le fonctionnement de @property, reportez-vous à la section answer.

# create a new object 
options = Options() 
# calling the property (setter) 
options.add_argument('-headless') 

Mise à jour: De plus, il semble qu'il y ait d'autres problèmes avec votre exemple de code. Si vous voulez fournir seulement firefox_options, vous devriez le faire comme un argument mot-clé, vous devez donc fournir explicitement:

browser = webdriver.Firefox(firefox_options=options) 
+0

maintenant montre cette erreur - TypeError: listdir: chemin d'accès doit être une chaîne, octets, os. PathLike ou None, not Options – Rahul

+0

Vérifie ma mise à jour. Vous devriez vraiment suivre quelques guides de python et quelques tutoriels de sélénium, car les erreurs que vous faites sont très basiques. – Lescurel

+0

ouais j'apprends et lis mais quelques erreurs je ne comprends pas. Merci, ça marche maintenant – Rahul