Захватывать журналы с Chrome во время теста. Python - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь перехватить логи от chrome, во время запуска автоматического теста. Код ниже:

 binary_path = 'Chromium'
chromedriver_path = 'chromedriver'

opts = Options()
opts.binary_location = binary_path
d = DesiredCapabilities.CHROME
d['goog:loggingPrefs'] = { 'browser':'ALL',
                           'driver': 'ALL'}

driver = webdriver.Chrome(chromedriver_path, desired_capabilities=d, options=opts)

#EXAMPLE TO GET LOGS
driver.get('https://www.google.com/')
driver.find_element_by_name('q').send_keys('abc')

print('browser = ', driver.get_log('browser'))
print('driver = ', driver.get_log('driver'))
for entry in driver.get_log('browser'):
    print('entry = ', entry)

driver.quit()

вывод из печати:

browser =  []
driver =  []

Мой вопрос: почему запись не печатается и почему нет вывода из chrome журналов

1 Ответ

1 голос
/ 25 февраля 2020

Попробуйте использовать ChromeOptions вместо параметров.

Кроме того, не уверен, почему вы используете хром, это может повлиять на результат. Я изменил ваш код, и следующий код работал для меня в браузере Chrome:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver import ChromeOptions

opts = ChromeOptions()
d = DesiredCapabilities.CHROME
d['goog:loggingPrefs'] = {'browser': 'ALL',
                           'driver': 'ALL'}

driver = webdriver.Chrome(desired_capabilities=d, options=opts)

#EXAMPLE TO GET LOGS
driver.get('https://www.google.com/')
driver.find_element_by_name('q').send_keys('abc')

print('browser = ', driver.get_log('browser'))
print('driver = ', driver.get_log('driver'))
for entry in driver.get_log('browser'):
    print('entry = ', entry)

driver.quit()

он распечатан =>

browser =  []
driver =  [{'level': 'INFO', 'message': 'Populating Preferences file: {\n   "alternate_error_pages": {\n      "enabled": false\n   },\n   "autofill": {\n      "enabled": false\n   }, ... ]

Надеюсь, это поможет, удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...