Внедрение CSS в драйвер Selenium вызывает ошибку javascript в Linux, а не в macOS

Ниже функция python (v. 3.9.7) вводит стили CSS, которые загружаются из стандартного файла CSS, в объект драйвера селена. В то время как в macOS (11.5.2, homebrew) стили применяются правильно, в Linux (Ubuntu 20.04) стили не применялись, и выводится это сообщение: javascript error: Invalid or unexpected token

Итак, какая часть строки вызывает проблему и как мне предварительно обработать строку перед ее отправкой?

      def injectCSS(driver, file):
    css = Path(file).read_text()
    css = css.replace('\n', '')
    execute = rf'''
    var style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = '{css}';
    document.head.appendChild(style);
    '''
    try:
        driver.execute_script(execute)
        time.sleep(1)
        print('CSS injection done')
    except Exception as e:
        print(str(e))

ОБНОВЛЕНИЕ: я сузил проблемную строку: это не строка в переменной Python, она находится внутри самого загруженного файла CSS, и это строка, содержащая src атрибут в @font-face правило:

      @font-face {
    font-family: "myfont";
    src: url(http://my.font.com/font.woff2) format('woff2');
}

0 ответов

Другие вопросы по тегам