如何通过 Selenium 和 Python 配置 GeckoDriver 的日志级别和日志位置?

Lad*_*018 3 python firefox selenium webdriver geckodriver

我是python新手,我写了一个程序来收集信息(python+selenium+geckodriver+firefox),一切正常,但是geckodriver.exe生成的日志太多,有时geckodriver.log的单个文件大小甚至达到8GB 。

我搜索了 Galaxy、Google 和 StackOverflow,我找不到禁用 geckodriver.log 的解决方案,这个问题与我的类似,我知道使用一些参数可以减少日志

geckodriver.exe --log fatal
Run Code Online (Sandbox Code Playgroud)

我知道 python 可以分配 geckodriver 的路径

driver=webdriver.Firefox(executable_path='C:\geckodriver.exe')
Run Code Online (Sandbox Code Playgroud)

是否可以将它们组合在一起?如下所示:

driver=webdriver.Firefox(executable_path='C:\geckodriver.exe --log fatal')
Run Code Online (Sandbox Code Playgroud)

我尝试过但失败了,有人可以帮助我吗?谢谢!

Deb*_*anB 7

在使用Selenium v​​3.14.0 Python 客户端减少GeckoDriver 生成的日志并将日志重定向到特定日志文件时,您可以使用以下解决方案:

  • 使用service_log_path

    driver = webdriver.Firefox(firefox_options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe', service_log_path='./Logs/geckodriver_service_log_path.log')
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用log_path

    driver = webdriver.Firefox(firefox_options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe', log_path='./Logs/geckodriver_log_path.log')
    
    Run Code Online (Sandbox Code Playgroud)
  • 要配置日志级别并合并日志路径,您可以使用以下解决方案:

    from selenium import webdriver
    from selenium.webdriver.firefox.options import Options
    from selenium.webdriver.firefox.options import Log
    
    log = Log()
    log.level = "TRACE"
    options = Options()
    options.add_argument(log.level)
    driver = webdriver.Firefox(firefox_options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe', service_log_path='./Logs/geckodriver_service_log_path.log')
    # driver = webdriver.Firefox(firefox_options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe', log_path='./Logs/geckodriver_log_path.log')
    driver.get('http://google.com/')
    print(driver.title)
    driver.quit()
    
    Run Code Online (Sandbox Code Playgroud)