Python 3.x 如何重新定位/禁用GeckoDriver';在selenium中的日志文件,python 3?
喂,如何在selenium、python 3中禁用GeckoDriver的日志文件 如果不可能,我如何将其重新定位到临时文件?要重新定位GeckoDriver日志,您可以在项目空间内创建一个目录,例如Log,并且可以使用参数Log\u path将GeckoDriver日志存储在文件中,如下所示: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
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,