Несовпадение меток времени между console.log и browser.get_log ('browser') - PullRequest
0 голосов
/ 08 января 2020

Я извлекаю console.log информацию, используя Selenium (Python, ChromeDriver).

Отметки времени, которые я получаю из browser.get_log('browser'), не совпадают с отметками времени, полученными из console.log.

Вот простая HTML страница, которую я использую для тестирования

<html>
<body>
    <script>
        console.log('START');
        setTimeout(() => { console.log("After 1s"); }, 1000);
        setTimeout(() => { console.log("After 2s"); }, 2000);
        setTimeout(() => { console.log("After 4s"); }, 4000);
        setTimeout(() => { console.log("After 8s"); }, 8000);
        console.log('END');
    </script>
</body>
</html>

Вот код Selenium:

d = DesiredCapabilities.CHROME
d['goog:loggingPrefs'] = { 'driver': 'ALL', 'browser':'ALL' }
browser = webdriver.Chrome(desired_capabilities=d)

browser.get('file:///.....test-console.html')
time.sleep(10)

logs = [l for l in browser.get_log('browser') if l['source'] == 'console-api']
for item in logs:
    print(item['timestamp'], item['message'])

Вот вывод из console.log на Chrome

enter image description here

Вот выход из Selenium (отметка времени преобразуется в даты)

11:19:22.014 test-console.html 4:16 "START"
11:19:22.014 test-console.html 9:16 "END"
11:19:32.032 test-console.html 5:35 "After 1s"
11:19:32.032 test-console.html 6:35 "After 2s"
11:19:32.032 test-console.html 7:35 "After 4s"
11:19:32.032 test-console.html 8:35 "After 8s"

Две вещи, на которые следует обратить внимание :

  • Между метками времени консоли браузера и сценария Selenium есть небольшое смещение. Ничего страшного.
  • Код Selenium возвращает идентичные метки времени для событий, которые должны быть на расстоянии нескольких секунд. Это нехорошо.

Я что-то не так делаю?

Как получить правильные метки времени от Selenium?

Другая информация отладки

Darwin Kernel Version 19.0.0 ... root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64
Python 3.7.5
selenium==3.141.0
ChromeDriver 78.0.3904.105
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...