Python - функция Python selenium driver.execute_script() не выполняет мой код в скрипте?

В моем скрипте python я использую функцию селена driver.execute_script()который не выполнит весь код в скрипте. В частности, один код работает, а другой нет.

Этот код работает:

driver.execute_script("""
        let w = window.open("{}","_blank");
        w.console.log("asdf");
        """.format(link))

Но здесь это не сработало:

driver.execute_script("""
        let w = window.open("{}","_blank");
        w.addEventListener("DOMContentLoaded", function () {
            w.console.log("asdf");
        });
        """.format(link))

Мне нужен этот прослушиватель событий, потому что тело этой функции будет работать с элементами DOM, но когда я набираю код с помощью прослушивателя событий python, просто пропускаю выполнение скрипта, ПОЧЕМУ?:(

1 ответ

Решение

Когда вы используете format() тогда {...} имеет особое значение в строке - не только в open("{}" но и в function () {...} - и вы должны использовать {{ }} использовать это как обычно { } -

function () {{....}}

Подробнее о PyFormat

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