Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何重新定位/禁用GeckoDriver';在selenium中的日志文件,python 3?_Python 3.x_Selenium_Selenium Webdriver_Geckodriver - Fatal编程技术网

Python 3.x 如何重新定位/禁用GeckoDriver';在selenium中的日志文件,python 3?

Python 3.x 如何重新定位/禁用GeckoDriver';在selenium中的日志文件,python 3?,python-3.x,selenium,selenium-webdriver,geckodriver,Python 3.x,Selenium,Selenium Webdriver,Geckodriver,喂,如何在selenium、python 3中禁用GeckoDriver的日志文件 如果不可能,我如何将其重新定位到临时文件?要重新定位GeckoDriver日志,您可以在项目空间内创建一个目录,例如Log,并且可以使用参数Log\u path将GeckoDriver日志存储在文件中,如下所示: from selenium import webdriver driver = webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.e

喂,如何在selenium、python 3中禁用GeckoDriver的日志文件

如果不可能,我如何将其重新定位到临时文件?

要重新定位GeckoDriver日志,您可以在项目空间内创建一个目录,例如Log,并且可以使用参数Log\u path将GeckoDriver日志存储在文件中,如下所示:

from selenium import webdriver

driver = webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.exe', log_path='./Log/geckodriver.log')
driver.get('https://www.google.co.in')
print("Page Title is : %s" %driver.title)
driver.quit()

您应该使用
服务日志路径
,从今天起,
日志路径
已被弃用,例如pytest:

@pytest.mark.unit
@pytest.fixture
def browser(pytestconfig):
    """
    Args:
        pytestconfig (_pytest.config.Config)
    """
    driver_name = pytestconfig.getoption('browser_driver')
    driver = getattr(webdriver, driver_name)
    driver = driver(service_log_path='artifacts/web_driver-%s.log' % driver_name)
    driver.implicitly_wait(10)
    driver.set_window_size(1200, 800)
    yield driver
    driver.quit()
参考:

根据文档,您可以将其重新定位到以下位置:

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

options = Options()
driver = webdriver.Firefox(executable_path=geckodriver_path, service_log_path=os.path.devnull, options=options)
不推荐使用以下参数:

  • firefox_选项–选项的不推荐参数
  • 日志路径–服务日志路径的不推荐参数

    • 没有@hidehara,但我找到了一种方法。我在Selenium2Library目录中查找了文件init。在我的例子中:C:\Users\Eigenaardig\AppData\Local\Programs\Python\Lib\site packages\SeleniumLibrary

      在那里我添加了这两行

      from selenium import webdriver
      driver = webdriver.Firefox(executable_path=r'C:\Users\Eigenaar\eclipse-workspace\test\test\geckodriver.exe', log_path='./Log/geckodriver.log')
      
      已创建目录日志(在Windows资源管理器中)


      helaas,它启动了两个实例。

      我在一个单独的库(.py文件)中添加了

      如下所示(出于测试目的):

      但现在它打开了两个实例, 1运行正确, 1保持打开状态,并且什么也不做


      帮助帮助。

      如果出于某种原因,这一切都不起作用。(我们的情况就是如此)。 然后转到此(相对)目录:

      C:\Users\yourname\AppData\Local\Programs\Python38\Lib\site packages\SeleniumLibrary\keywords\webdrivertools

      有一个名为:webdrivertools.py的文件 在第157行,您可以编辑

      service_log_path='./robots/robotsiot/Results/Results/Results/geckoresults', executable_path=executable_path,
      
      优点: #1如果您使用的是Github之类的东西,并且您同步了一个目录,那么日志文件将保持独立。 #2上一次运行的原始文件被覆盖 (如果这是你想要的,但在某些情况下,这正是你需要的)

      注意:上面写的部分是为了防止您使用FireFox,如果您使用的是另一个浏览器,您必须在另一行编辑它。 注2:此路径在较高级别上覆盖,因此Eclipse->Robot框架中的参数将不再有任何效果


      小心使用此选项:如果其他选项不起作用,这是最后的选择

      谢谢!在CentOS 7下,我使用这行代码:browser=webdriver.Firefox(log_path='/tmp/SISPI_logger_geckodriver.log')谢谢,但我不明白的是,这段文字在哪里?这在档案里吗?如果是,什么文件以及该文件在哪里?请注意,
      log\u path
      并不反对使用
      service\u log\u path
      。我应该将该代码放置(复制粘贴)在哪里?(I gues不在记事本中,但在哪里?)@tijnn例如,创建一个headless.py文件并复制该代码。它需要python和selenium模块,可以使用get-pip命令。这是你期望的答案吗?这更是我想要的:
      service_log_path='./robots/robotsiot/Results/Results/Results/geckoresults', executable_path=executable_path,