Внедрение 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');
}