首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用或更改ghostdriver.log的路径?

如何禁用或更改ghostdriver.log的路径?
EN

Stack Overflow用户
提问于 2013-06-11 23:57:06
回答 2查看 11.5K关注 0票数 27

问题很简单,但一些上下文可能会有所帮助。

我尝试在使用selenium和phantomjs作为下载器的同时部署scrapy。但问题是,在尝试部署时,它一直在说权限被拒绝。所以我想更改ghostdriver.log的路径,或者直接禁用它。看着phantomjs -h和ghostdriver github页面,我找不到答案,我的朋友谷歌也让我失望。

代码语言:javascript
复制
$ scrapy deploy
Building egg of crawler-1370960743
'build/scripts-2.7' does not exist -- can't clean it
zip_safe flag not set; analyzing archive contents...
tests.fake_responses.__init__: module references __file__
Deploying crawler-1370960743 to http://localhost:6800/addversion.json
Server response (200):
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/scrapyd/webservice.py", line 18, in render
    return JsonResource.render(self, txrequest)
  File "/usr/lib/pymodules/python2.7/scrapy/utils/txweb.py", line 10, in render
    r = resource.Resource.render(self, txrequest)
  File "/usr/lib/python2.7/dist-packages/twisted/web/resource.py", line 216, in render
    return m(request)
  File "/usr/lib/pymodules/python2.7/scrapyd/webservice.py", line 66, in render_POST
    spiders = get_spider_list(project)
  File "/usr/lib/pymodules/python2.7/scrapyd/utils.py", line 65, in get_spider_list
    raise RuntimeError(msg.splitlines()[-1])
RuntimeError: IOError: [Errno 13] Permission denied: 'ghostdriver.log
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-12 15:14:03

使用PhantomJS驱动程序时,添加以下参数:

代码语言:javascript
复制
driver = webdriver.PhantomJS(service_log_path='/var/log/phantomjs/ghostdriver.log')

相关代码,如果能有一个关闭日志的选项就更好了,但似乎不支持:

selenium/webdriver/phantomjs/service.py

代码语言:javascript
复制
class Service(object):
    """
    Object that manages the starting and stopping of PhantomJS / Ghostdriver
    """

    def __init__(self, executable_path, port=0, service_args=None, log_path=None):
        """
        Creates a new instance of the Service

        :Args:
         - executable_path : Path to PhantomJS binary
         - port : Port the service is running on
         - service_args : A List of other command line options to pass to PhantomJS
         - log_path: Path for PhantomJS service to log to
        """

        self.port = port
        self.path = executable_path
        self.service_args= service_args
        if self.port == 0:
            self.port = utils.free_port()
        if self.service_args is None:
            self.service_args = []
        self.service_args.insert(0, self.path)
        self.service_args.append("--webdriver=%d" % self.port)
        if not log_path:
            log_path = "ghostdriver.log"
        self._log = open(log_path, 'w')
票数 33
EN

Stack Overflow用户

发布于 2015-10-18 13:48:20

代码语言:javascript
复制
    #Reduce logging level
    driver = webdriver.PhantomJS(service_args=["--webdriver-loglevel=SEVERE"])

    #Remove logging
    import os
    driver = webdriver.PhantomJS(service_log_path=os.path.devnull)
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17048594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档