2017-02-02 5 views
0

Ich bin neu in Selen und Python.Python-Skript in Selen

Ich habe das Skript von Selen IDE exportiert und wenn ich versuche, das Skript in Python ausführen i Fehler wie unten erhalte,

EException AttributeError: "'Service' object has no attribute 'log_file'" in <bo 
und method Service.__del__ of <selenium.webdriver.firefox.service.Service object 
at 0x0000000002AA4550>> ignored 
====================================================================== 
ERROR: test_sharepoint_python (__main__.SharepointPython) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "D:\scripts\sharepoint python1.py", line 12, in setUp 
    self.driver = webdriver.Firefox() 
    File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", 
line 139, in __init__ 
    self.service = Service(executable_path, log_path=log_path) 
    File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\service.py", li 
ne 45, in __init__ 
    log_file = open(log_path, "a+") 
IOError: [Errno 13] Permission denied: 'geckodriver.log' 
---------------------------------------------------------------------- 
Ran 1 test in 0.030s 
FAILED (errors=1) 

Bitte leite mich, wie kann ich dieses Problem beheben. Habe andere Post erwähnt, die den Pfad von geckodriver aktualisieren. Wenn das das Problem behebt, lassen Sie mich wissen, wo Sie den Geckodriver finden können. Aber ich kann nicht überall geckodriver.log ansehen Versuchte das Herunterladen und Installieren geckodriver aber exe ausgeführt wird nicht

+1

Mögliches Duplikat von [Berechtigung verweigert: 'geckodriver.log' beim Ausführen von Selenium Webdriver in Python] (http://stackoverflow.com/questions/40466809/permission-denied-geckodriver-log-while-running-selenium-webdriver -in-python) – Andersson

Antwort

0

Es gibt Fehler: Zugriff verweigert: 'geckodriver.log'

  1. Versuchen zu finden ‚geckodriver.log‘ von: locate geckodriver.log

  2. chmod 777 geckodriver.log

+0

Das ist keine gute Idee. Das Lösen einer "Berechtigung verweigert" in einer Datei, indem einfach alle Rechte an sie weitergegeben werden, ist kaum eine sichere Lösung. –

+0

Ich habe diese Antwort erwartet, aber für den Test kann helfen. Wenn es sich um das gleiche Problem wie bei der verknüpften Antwort handelt, kann es überhaupt nicht helfen. – jsonnek

+0

Ich benutze es in Windows-Maschine. – sam

0

Haben gleiches Problem, fand diese: https://github.com/SeleniumHQ/selenium/issues/3128

Die Verwendung der vorgeschlagenen Problemumgehung des Konstruierens von Webdriver mit dem im Python-Skript angegebenen Protokollpfad hat das Problem für mich behoben. Detail der Abhilfe ist:

  1. sicherstellen, dass OS in beinhaltet ist
  2. auf Anweisung: self.driver = webdriver.Firefox() Änderung: self.driver = webdriver.Firefox(log_path = os.devnull)

Eine gute Nachricht ist, dass die Post sagt, dass es ein Fehler war, die war in neueren Versionen korrigiert.